invokingRequest事件 | 即将发出请求时触发,可用于取消某个请求 |
completedRequest事件 | 请求结束时触发,它早于WebRequest对象的completed事件触发 |
defaultTimeout属性 | 默认的超时时间 |
defaultExecutorType | 默认的发送请求的Executor类型 |
add/remove_invokingRequest(handler) | 添加/移除invokingRequest的事件处理器 |
add/remove_completedRequest(handler) | 添加/移除completedRequest的事件处理器 |
<asp:ScriptManager ID="ScriptManager1" runat="server" />
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<%= DateTime.Now %><br />
<asp:Button ID="Button1" runat="server" Text="Button" />
</ContentTemplate>
</asp:UpdatePanel>
<script language="javascript" type="text/javascript">
Sys.Net.WebRequestManager.add_invokingRequest(function(sender, eventArgs)
{
debugger
if (confirm("Cancel the partial rendering?"))
{
eventArgs.set_cancel(true);
}
});
Sys.Net.WebRequestManager.add_completedRequest(function()
{
alert("Response received!");
});
</script>记得UpdatePanel中有一个PageRequestManager类,这个类适用与页面级别的调用,WebRequestManager是对web请求适用,并且PageRequestManager的initializeRequest事件优先与invokingRequest事件,从名字上就可以区分出来一个是初始化事件,一个是调用请求的事件。上面这个例子有一个bug,取消请求之后要重新刷新页面才能正常的调用。这个bug我还没有找到好的方法解决。注意:在这个例子中WebRequestManager类是结合UpdatePanel使用的,能否在与WebRequest和WebRequestExecutor类结合使用