.
Anmeldung | Registrieren | Hilfe
in Suchen

DataGrid Checkbox ID auf 2 Systemen unterschiedlich

Letzter Beitrag 16. Mai 2012 14:41 von blacksiren. 2 Antworten.
Seite 1 von 1 (3 Treffer)
Beiträge sortieren: Zurück Weiter
  • 15. Mai 2012 16:10

    • blacksiren
    • Top 500 Mitwirkender
    • Registriert am 15. Mai 2012
    • Beiträge 3
    • Punkte 15

    DataGrid Checkbox ID auf 2 Systemen unterschiedlich

    Hallo Zusammen,

    ich habe ein komisches Phänomen, das ihr mir vielleicht erklären könnt. Ich habe einen Development Server und einen Test Server. Auf beiden ist Windows Server 2003 installiert, beide haben IIS 6. Die Applikation die ich entwickelt habe lief bisher auf .NET 1.1 und wurde nun von mir in Visual Studio 2010 konvertiert und auf .NET 4.0 umgestellt. Soweit funktioniert nun alles soweit wieder wie es sollte bis auf eine komische Sache die im DEV System läuft, aber auf dem Testsystem nicht.

    Im Development System haben die Checkboxen, die dynamisch in einem DataGrid geladen werden eine ID wie z.B. diese hier:

    dgrInquiry__ctl9_chkSelect

    Das war vorher auch im Test System so, denn sonst hätten gewisse Javascript Funktionen nicht funktioniert.
    Jetzt sehen die IDs auf dem Testsystem aber wie folgt aus:

    dgrInquiry_chkSelect_8

    Deshalb wird die CheckBox dann vom Javascript nicht gefunden (GetElementByID), da das Element plötzlich einen ganz anderen Namen hat.

    Weiß jemand von euch wo ich drehen muss, damit auf beiden Servern diese "dgrInquiry__ctl9_chkSelect" schreibweise verwendet wird?

    Vielen Dank im vorraus!

    Grüße,
    Sandro

    EDIT: Was mir noch auffällt ist folgendes. Auch der tag "name" der CheckBox hat einen andere Schreibweise.
    Development: dgrInquiry:_ctl9:chkSelect
    Test:
    dgrInquiry$ctl11$chkSelect
    Ist das ne Ländereinstellung oder sowas? Aber wieso ging es dann vorher?


    Abgelegt unter: , , ,
    • IP-Adresse ist Registriert
  • 16. Mai 2012 14:01 Antwort zu

    • blacksiren
    • Top 500 Mitwirkender
    • Registriert am 15. Mai 2012
    • Beiträge 3
    • Punkte 15

    DataGrid Checkbox ID auf 2 Systemen unterschiedlich

    Antworten
    Hier schonmal eine 1. Lösung die ich gefunden habe:

    http://stackoverflow.com/questions/6298223/why-are-my-controls-getting-a-different-id-naming-convention

    Für mich war es der ClientIDMode in der Web.Config.

    Leider habe ich noch das Problem das im DEV System folgende schreibweise verwendet wird:
    dgrInquiry__ctl1_chkSelect
    im TEST System die folgende:
    dgrInquiry_ctl1_chkSelect

    Da fehlt noch ein 2. Underscore... Warum auch immer der im 1. drin ist...
    Der Name Tag ist übrigens auch noch unterschiedlich mit : und $.

    Danke für die Hilfe,
    Sandro
    • IP-Adresse ist Registriert
  • 16. Mai 2012 14:41 Antwort zu

    • blacksiren
    • Top 500 Mitwirkender
    • Registriert am 15. Mai 2012
    • Beiträge 3
    • Punkte 15

    DataGrid Checkbox ID auf 2 Systemen unterschiedlich

    Antworten
    Ok, das 2. Problem mit den $ Zeichen statt : ist jetzt gelöst. Die Lösung hat dann auch gleichzeitig das Problem mit dem doppelten Underscore gelöst! :-)

    Was in meiner Web.Config auf dem Testserver nun noch gefehlt hat was der folgende Eintrag:
    <xhtmlConformance mode="Legacy"/>

    Ab .NET 2.0 werden $ Zeichen als IDSeparator verwendet. Früher waren es : Zeichen. Mit dieser Einstellung kann man es aber zurücksetzen.
    Gleichzeitig wird meiner ID nun auch der 2. Underscore hinzugefügt und nun läuft es wie gewohnt.

    Viele Grüße,
    Sandro

    • IP-Adresse ist Registriert
Seite 1 von 1 (3 Treffer)

WPF Forum | ASP.NET Forum | ASP.NET MVC Forum | Silverlight Forum | Windows Phone 7 Forum | SharePoint Forum | Dotnet Jobs | Dotnet Termine | Developer Blogs | Dotnet News

Das Team | Regeln | Impressum