当前位置: 首页 > 面试题库 >

如何在代码隐藏中检查请求是否为Ajax-ASP.NET Webforms

锺离马鲁
2023-03-14
问题内容

我试过了,Request.IsAjaxRequest但这在WebForms中不存在。我正在进行JQuery
ajax调用。如何在C#中检查这是否是ajax请求?


问题答案:

您可以创建自己的扩展方法,就像MVC代码中的方法一样

例如

public static bool IsAjaxRequest(this HttpRequest request)
{
    if (request == null)
    {
        throw new ArgumentNullException("request");
    }

    return (request["X-Requested-With"] == "XMLHttpRequest") || ((request.Headers != null) && (request.Headers["X-Requested-With"] == "XMLHttpRequest"));
}

查尔斯· HTH

编辑: 实际上,回调请求也是ajax请求,

    public static bool IsAjaxRequest(this HttpRequest request)
    {
        if (request == null)
        {
            throw new ArgumentNullException("request");
        }
        var context = HttpContext.Current;
        var isCallbackRequest = false;// callback requests are ajax requests
        if (context != null && context.CurrentHandler != null && context.CurrentHandler is System.Web.UI.Page)
        {
            isCallbackRequest = ((System.Web.UI.Page)context.CurrentHandler).IsCallback;
        }
        return isCallbackRequest || (request["X-Requested-With"] == "XMLHttpRequest") || (request.Headers["X-Requested-With"] == "XMLHttpRequest");
    }


 类似资料:
  • 问题内容: 我想检查服务器端是否对我的php页面的请求是ajax请求。 我看到了两种方法可以做到这一点: 第一种方法:在请求中发送一个参数,该参数告诉页面这是AJAX请求(= ) mypage.php: 第二种方式:将标头设置为: 客户端js: mypage.php: 事实是,这两种方法很容易被黑,因此检查我是否收到这样的AJAX请求并不安全。 如何检查我是否收到AJAX请求? 问题答案: 没有确

  • 问题内容: 有没有一种方法可以检查Python中的请求是否为AJAX? 相当于PHP的? 问题答案: 如果AJAX框架在其请求中设置了X-Requested-With标头,则您将能够使用该标头来检测AJAX调用。这取决于客户端框架。 掌握HTTP标头取决于您选择的Python框架。在Django中,对象具有可以直接使用的方法。

  • 问题内容: 是否有可能切换元素的可见性,使用功能,或? 你会如何测试一个元素是否还是? 问题答案: 由于问题涉及单个元素,因此此代码可能更合适: 与twernt的建议相同,但适用于单个元素。它与jQueryFAQ中推荐的算法匹配 我们使用jQueryis()与另一个元素,选择器或任何jQuery对象一起检查选定的元素。此方法遍历DOM元素以找到匹配项,该匹配项满足传递的参数。如果存在匹配项,则返回

  • 问题内容: 在我的动作中,我只希望响应从AJAX请求中调用的处理。我该如何检查? 我想做这样的事情: 问题答案: 您可以检查是否为AJAX请求。这是一篇很好的文章。 这是一个例子:

  • 我目前正在使用playright/Python/Pytest,我正在尝试将用户登录作为特定类型的用户角色,然后检查各种按钮是否可见或隐藏。 我正在使用页面对象,并为每个按钮元素设置了属性,即。 然后我使用一个验证方法的可见按钮: 这可以很好地工作,并将测试中的断言传递回true。 然后,我尝试使用以下方法对隐藏值执行相同操作: 但是我得到了这个错误——等待选择器“xpath=//h3[normal

  • 问题内容: 如何检查请求是否为AJAX?我正在使用CodeIgniter。我有一个链接,当单击该链接时,它将打开弹出对话框窗口,此操作是通过ajax完成的,它请求输入控制器名称。 CodeIgniter jQuery的 我想检查是否是AJAX请求,如果不是,我会将其重定向到主页。因此,他们无法访问仅用于ajax请求的页面。 问题答案: 如果您使用的是发送标头的库,则可以…