Хотя это старый вопрос, я думаю, что он заслуживает упоминания еще одного решения.
Если вы не хотите полагаться на скрытые кнопки или призрачный __doPostBack, есть опция «ClientScript.GetPostBackEventReference», как описано на этой (также довольно старой, но все еще отличной) странице:
http://www.4guysfromrolla.com/articles/033110-1.aspx
Короче говоря, если ваша UpdatePanel объявлена так:
<asp:UpdatePanel ID="MyUpdatePanel" runat="server">...</UpdatePanel>
затем в JavaScript вы можете вызвать скрипт, сгенерированный этим серверной частью код:
ClientScript.GetPostBackEventReference(MyUpdatePanel, "")
Так что на вашей странице aspx вы можете получить что-то вроде этого:
function MyJavaScriptFunction(){
doSomeStuff();
<%=ClientScript.GetPostBackEventReference(MyUpdatePanel, "")%>
}
Код между <% и%> будет заменен реальным вызовом javascript при анализе страницы, поэтому вы можете посмотреть его, просмотрев исходный код страницы в браузере.
Это может быть не проще, чем в других ответах, но я предпочитаю его, так как он не вводит никаких дополнительных элементов и __doPostBack выглядит как хак.: -)