2009-07-08 6 views
0

Für eine <select> Kontrolle können wir das Attribut onchange verwenden, um etwas Javascript zu starten, wenn sich der Wert der Option ändert. Intellisense würde mich zu der Annahme verleiten, dass das Steuerelement asp:ListBox dieses Attribut nicht enthält (da Sie im Visual Studio unterstreichen werden, dass dies ungültig ist). Das funktioniert jedoch.Was sind die Nebenwirkungen der Verwendung von "ungültigen" Attributen auf einem ASP-Steuerelement?

Versuchen Sie, diesen Code in Visual Studio einzugeben, und Sie werden Ihr OnChange-Attribut aufrufen. Warum ist das? Gibt es Nebenwirkungen bei der Verwendung dieses Attributs?

+0

Ich würde Sie ermutigen, nicht OnChange und JavaScript-Sachen wie das in Ihre Markup in erster Linie zu streuen. –

Antwort

1

Es ist kein gültiges Attribut für das asp: Listbox-Steuerelement, aber es ist ein gültiges Attribut für das HTML-Select-Steuerelement. Intellisense warnt Sie nur vor dem ersten.

0

Das ist die allgemeine Syntax für die deklarative Zuweisung von serverseitigen Ereignis-Listenern, so dass es sehr verwirrend sein kann, Ihren Code zu lesen, wenn nichts anderes.

1

OnChange ist nicht Teil der ListBox-Klasse, daher wird sie von der IDE als ungültig angezeigt. Wenn es jedoch in HTML gerendert wird, übergibt es diese Nicht-Klassen-Mitgliedsattribute an das HTML. Das gleiche gilt für das Einbetten von Stilen mit style = "color: red;" oder etwas ähnliches.

Verwandte Themen