ASP.NET 2.0: вызов функции JavaScript из onChange с AutoPostBack = true
-
10-07-2019 - |
Вопрос
У меня есть ASP.NET DDL, который выглядит так, когда я просматриваю источник:
<select name="testControl" onchange="DoCustomStuff();setTimeout('__doPostBack(\'testControl\',\'\')', 0)" id="testControl">
На странице .cs это выглядит так:
<asp:DropDownList ID="testControl" runat="server" onchange="DoCustomStuff()" OnSelectedIndexChanged="testControl_Changed" AutoPostBack="true" />
Может ли кто-нибудь увидеть проблему с использованием onchange и AutoPostBack = " true " на DDL, как это? Я спрашиваю, потому что у нас есть некоторые пользователи, для которых DoCustomStuff (), кажется, не вызывается правильно, и мне интересно, возможно ли будет выполнить __doPostBack () до того, как DoCustomStuff () завершит свою работу. р>
Решение
Попробуйте прикрепить ссылку обратной передачи вручную следующим образом:
Page.ClientScript.RegisterClientScriptBlock(
typeof(_Default),
"PageScripts",
string.Format("function DoCustomStuff() { /* Your Code Here */ {0} }", Page.ClientScript.GetPostBackEventReference(testControl, string.Empty))
);
testControl.Attributes["onchange"] = "DoCustomStuff();";
это дает вам ссылку на обратную сторону клиента:
Page.ClientScript.GetPostBackEventReference(testControl, string.Empty))
Не связан с StackOverflow