我花了相当一段时间试图破解为什么它并不总是火!答案如下: 您需要一个围绕被调用请求的更新面板。因此,如果您有一个需要调用begin和end请求处理程序的按钮,则可以在按钮周围放置一个Ajax更新面板,并将“UpdateMode”设置为“Always”。这是因为这些javascript事件只在asynchronos回发之前和之后触发。 Ajax更新面板将提供asynchronos调用。
例子:
<script type="text/javascript" language="javascript">
Sys.WebForms.PageRequestManager.getInstance().add_beginRequest(BeginRequestHandler);
Sys.WebForms.PageRequestManager.getInstance().add_endRequest(EndRequestHandler);
function BeginRequestHandler(sender, args) {
//Some code
}
function EndRequestHandler(sender, args) {
//Some code
}
</script>
<asp:ScriptManager ID="ScriptManager1" runat="server" />
<asp:UpdatePanel runat="server" ID="UpdatePanel6" UpdateMode="Always">
<ContentTemplate>
<asp:Button runat="server" ID="btnGo" Text="Go" OnClick="btnGo_OnClick"/>
</ContentTemplate>
</asp:UpdatePanel>
请注意,这是在asp.net正确的方法论。我不太了解MVC。希望有所帮助。
init代码是否实际运行? – CodingBarfield 2011-02-28 12:50:59