Asp.net中的回发请求和ajax请求

时间:2012-01-05 11:40:58

标签: asp.net ajax

是否有任何方法可以发现请求是正常请求(请求,例如回发操作或重定向或表单提交)或Ajax请求?

我正在使用 JQuery lib发送请求并调用 Web方法

1 个答案:

答案 0 :(得分:2)

假设您正在使用Web窗体和更新面板,我们使用的是:

ScriptManager sm = ScriptManager.GetCurrent(this);
return sm != null && sm.IsInAsyncPostBack;

更通用的方法是检查请求中的X-Requested-With标头。

Request.Headers["X-Requested-With"] == "XMLHttpRequest"

对您有什么好处取决于您的情况。您想检测页面是否正在执行部分更新,或者您想知道浏览器是否通过XMLHttpRequest请求它?

使用JavaScript进行AJAX调用时的另一个选择是传递一个查询字符串参数,指示您正在进行AJAX调用。