Where is Request.IsAjaxRequest() in Asp.Net Core MVC?
为了进一步了解新的令人兴奋的ASP.NET-5框架,我正在尝试使用新发布的Visual Studio 2015 CTP-6构建一个Web应用程序。
大多数事情看起来都很有希望,但我似乎找不到request.isajaxrequest()——我在老的MVC项目中经常使用的一种功能。
有没有更好的方法可以做到这一点——让他们删除这个方法——或者把它"隐藏"在其他地方?
感谢您对在哪里找到它或做什么的建议!
我有点困惑,因为标题提到了MVC 5。
在MVC6 Github repo中搜索
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | /// <summary> /// Determines whether the specified HTTP request is an AJAX request. /// </summary> /// /// <returns> /// true if the specified HTTP request is an AJAX request; otherwise, false. /// </returns> /// <param name="request">The HTTP request.</param><exception cref="T:System.ArgumentNullException">The <paramref name="request"/> parameter is null (Nothing in Visual Basic).</exception> public static bool IsAjaxRequest(this HttpRequestBase request) { if (request == null) throw new ArgumentNullException(nameof(request)); if (request["X-Requested-With"] =="XMLHttpRequest") return true; if (request.Headers != null) return request.Headers["X-Requested-With"] =="XMLHttpRequest"; return false; } |
由于MVC6
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | /// <summary> /// Determines whether the specified HTTP request is an AJAX request. /// </summary> /// /// <returns> /// true if the specified HTTP request is an AJAX request; otherwise, false. /// </returns> /// <param name="request">The HTTP request.</param><exception cref="T:System.ArgumentNullException">The <paramref name="request"/> parameter is null (Nothing in Visual Basic).</exception> public static bool IsAjaxRequest(this HttpRequest request) { if (request == null) throw new ArgumentNullException("request"); if (request.Headers != null) return request.Headers["X-Requested-With"] =="XMLHttpRequest"; return false; } |
或直接:
1 | var isAjax = request.Headers["X-Requested-With"] =="XMLHttpRequest" |
在ASP.NET核心中,可以使用context.request.headers。
1 | bool isAjaxCall = Context.Request.Headers["x-requested-with"]=="XMLHttpRequest" |