Ich habe ein DropDownList-Objekt auf meiner Webseite. Wenn ich darauf klicke und einen anderen Wert auswähle, passiert nichts, obwohl ich eine Funktion habe, die mit dem SelectedIndexChanged
Ereignis verbunden ist.
Zunächst der HTML-Code des eigentlichen Objekts:
<asp:DropDownList ID="logList" runat="server"
onselectedindexchanged="itemSelected">
</asp:DropDownList>
Und das ist diese Funktion itemSelected
:
protected void itemSelected(object sender, EventArgs e)
{
Response.Write("Getting clicked; " + sender.GetType().ToString());
FileInfo selectedfile;
Response.Write("<script>alert('Hello')</script>");
foreach (FileInfo file in logs)
{
if (file.Name == logList.Items[logList.SelectedIndex].Text)
{
Response.Write("<script>alert('Hello')</script>");
}
}
}
Keine der Antworten wird angezeigt, und dieser Teil von JavaScript wird niemals ausgeführt. Ich habe dies auf der neuesten Version 3.6 von Firefox sowie auf Internet Explorer 8 versucht. Dies wird von einem Windows Server 2003 R2-Computer bereitgestellt, auf dem ASP.NET mit .NET Framework Version 4 ausgeführt wird.
Versuchen Sie es
AutoPostBack="True"
in der DropDownList.quelle
Ich kenne den etwas älteren Beitrag, möchte aber trotzdem etwas zu den obigen Antworten hinzufügen.
Es kann vorkommen, dass der " Wert " von mehr als einem Element in der Dropdown-Liste doppelt vorhanden ist. Stellen Sie daher sicher, dass die Listenelemente keine wiederholten Werte enthalten, um dieses Ereignis " onselectedindexchanged " auszulösen
quelle
Fügen Sie die Eigenschaft
ViewStateMode="Enabled"
undEnableViewState="true"
AndAutoPostBack="true"
in drop DropDownList hinzuquelle
Stellen Sie außerdem sicher, dass die Seite gültig ist. Sie können dies in den Entwicklertools des Browsers überprüfen (F12).
Wählen Sie auf der Registerkarte Konsole das richtige Ziel / den richtigen Frame aus und suchen Sie nach der Eigenschaft [Page_IsValid]
Wenn die Seite nicht gültig ist, wird das Formular nicht gesendet und das Ereignis daher nicht ausgelöst.
quelle
Für mich war die Antwort aspx Seitenattribut, ich fügte Async = "true" zu Seitenattributen hinzu und dies löste mein Problem.
Dies ist die Struktur meines Update-Panels
quelle
Anstelle dessen, was Sie geschrieben haben, können Sie es direkt in das SelectedIndexChanged-Ereignis des Dropdown-Listensteuerelements schreiben, z
quelle