Forum: ASP.NET2.0 |
Thema:
ID-Wandlung bei Verwendung von MasterPages in den ContentPages |
Von:
Martin Burkhardt (
09.09.2007 18:43) |
Ich habe folgendes Problem:
Auf einer mit MasterPages definierten ASP.NET 2.0 ?Contentseite werden Callbackfunktionen aufgerufen. Diese greifen auf bestimmte Objekte, z.B. ASP:TextBox oder Label zu. Die von mir in der Contentseite festgelegten ID-Nummern der jeweiligen Objekte werden zur Laufzeit umgewandelt.
Also z.B.:
aus der TextBox mit der id=?XYZ_TB?
wird zur Laufzeit im QuellText id=?CT100_INHALT_CPH_XYZ_TB?
Soweit so gut und auch nachvollziehbar.
Ich muß also in meine Callback-Scripte, wenn ich o.g. das Textbox-Element mit
getElementByID(?CT100_INHALT_CPH_XYZ_TB?) aufrufen.
Leider stelle ich nun fest, dass die Laufzeitanpassungen der ID?s unterschiedlich sind.
Mal steht da: _CT10_INHALT_CPH_XYZ_TB
und mal so wie oben beschrieben: CT100_INHALT_CPH_XYZ_TB.
Und dann funktioniert das ganze CallBack natürlich nicht mehr.
Die Frage also:
Nach welchen Gusto werden eigentlich die ID?s in den Contentpages angepasst? Was mache ich falsch?
Und wie kann ich darauf Einfluss nehmen?
Nachbemerkung:
Bei meiner Herangehensweise an die ganze CallBack-Problematik habe ich zunächst das Szenario im Kapitel 10 im ASP.NET 2.0 Crashkurs von Herrn Preishuber nachgestellt.
Dort wird beschrieben, wie dieser Problematik mit der ID-Anpassung durch den Aufruf über UniqueID umgangen werden kann.
Das funktioniert auch allerdings mit dem Nachteil, dass z.B. im FireFox nicht die angepasste ID-Nummer des Elementes mit UniqueID gefunden wird, sondern der Elementenname, was dann wiederum dazuführt, dass der CallBack-Mechanismus nicht greift.
Herr Preishuber schreibt zwar, dass, da CallBack auf die MSXML-Engine aufsetzt, dies nur im IE funktionieren würde. Dem ist aber nicht so. Es funktioniert in allen mir verfügbaren Browsern (Opera, FireFox, Netscape usw.), vorausgesetzt die ID-Anpassung hat die richtigen Werte interpretiert.
Bitte um Hilfe. Martin Burkhardt.
Betreff |
Von |
Datum |
|
|
Bernhard
Grojer
|
09.09.2007 21:41 |
|
|
Martin
Burkhardt
|
10.09.2007 08:39 |
|
|
Martin
Burkhardt
|
10.09.2007 08:40 |
|
|
AW: AW: AW: ID-Wandlung bei Verwendung von...
zB:<br><br>JS-Code den du ganz normal einbindest:<br><br>function doit(TextBoxID)<br>{<br> var txt = document.getElementByID(TextBoxID)<br> ... more stuff ...<br>}<br><br>JS-Code den du DYNAMISCH auf der SERVERSEITE... |
|
|
|
|
|
Bernhard
Grojer
|
10.09.2007 14:40 |
|
|
AW: AW: AW: ID-Wandlung bei Verwendung von...
zB:<br><br>JS-Code den du ganz normal einbindest:<br><br>function doit(TextBoxID)<br>{<br> var txt = document.getElementByID(TextBoxID)<br> ... more stuff ...<br>}<br><br>JS-Code den du DYNAMISCH auf der SERVERSEITE... |
|
|
|
|
|
Bernhard
Grojer
|
10.09.2007 14:40 |
|
|
AW: AW: AW: AW: ID-Wandlung bei Verwendung von...
Vielen Dank für die Hilfe.<br><br>Entscheidend der der Tip mit dem ClientID. Meine vorangegangenen Versuche auf der Grundlage der Beschreibung von H.Preishuber Crashkurs dasselbe mit UniqueID zu... |
|
|
|
|
|
Martin
Burkhardt
|
10.09.2007 18:45 |
|
|
AW: Uniqueid statt ClientID
Hallo <br><br>da hast Du einen Fehler im Buch gefunden. In den Alpha und Beta Phasen während ich das Buch geschrieben hatte war das verhalten mal anders. Dies ist mir später offensichtlich nicht mehr... |
|
|
|
|
|
Hannes
Preishuber
|
11.09.2007 14:12 |
|
|
Bernhard
Grojer
|
09.09.2007 21:41 |
|
|
Antworten
Vorsicht bei der Eingabe: Die Zeichen ' oder -- sind nicht erlaubt!