ASP.NET 2.0: Aufrufen einer JavaScript -Funktion von Onchange mit autopostback = true
-
10-07-2019 - |
Frage
Ich habe eine ASP.NET -DDL, die so aussieht, wenn ich Quelle anzeige:
<select name="testControl" onchange="DoCustomStuff();setTimeout('__doPostBack(\'testControl\',\'\')', 0)" id="testControl">
Auf der Seite .cs sieht es so aus:
<asp:DropDownList ID="testControl" runat="server" onchange="DoCustomStuff()" OnSelectedIndexChanged="testControl_Changed" AutoPostBack="true" />
Kann jemand ein Problem mit der Verwendung von Onchange und autopostback = "true" auf einem DDL -solchen DDL sehen? Ich frage, weil wir einige Benutzer haben, für die der Docentomstuff () nicht richtig angerufen zu werden scheint, und ich frage mich, ob es möglich wäre, dass das __Dopostback () ausgeführt wird, bevor Docustomstuff () seine Arbeit ausführt.
Lösung
Versuchen Sie, solche Postback -Referenz manuell anzuhängen:
Page.ClientScript.RegisterClientScriptBlock(
typeof(_Default),
"PageScripts",
string.Format("function DoCustomStuff() { /* Your Code Here */ {0} }", Page.ClientScript.GetPostBackEventReference(testControl, string.Empty))
);
testControl.Attributes["onchange"] = "DoCustomStuff();";
Dies gibt Ihnen die Postback -Client -Seite Referenz:
Page.ClientScript.GetPostBackEventReference(testControl, string.Empty))
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow