要了解有关新的令人兴奋的Asp.Net-5框架的更多信息,我正在使用最新发布的Visual Studio 2015 CTP-6来构建一个Web应用程序。
大多数事情看起来真的很有希望,但我似乎找不到Request.IsAjaxRequest() – 一个在旧的MVC项目中经常使用的功能。
有没有更好的方法来做到这一点 – 这使得他们删除这种方法 – 或者是“隐藏”在别的地方?
感谢任何建议,在哪里找到它或做什么改为!
我有点困惑,因为标题提到了MVC 5。
搜索Ajax
in the MVC6 github repo doesn’t give any relevant results,但您可以自己添加扩展。从MVC5项目中进行的解压缩代码很简单:
/// <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 Controller
似乎使用Microsoft.AspNet.Http.HttpRequest,您必须通过对MVC5版本引入少量调整来检查request.Headers
collection是否适合标题:
/// <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; }
或直接:
var isAjax = request.Headers["X-Requested-With"] == "XMLHttpRequest"
相关文章
- 1. asp.net-mvc – ASP.NET MVC RC中的Html.Image在哪里?
- 2. asp.net-mvc – 在哪里得到的Microsoft.Web.Mvc.dll
- 3. asp.net-mvc – 在哪里放置AutoMapper.CreateMaps?
- 4. asp.net-mvc-4 – ASP.NET MVC 4.0 RTM的符号在哪里?
- 5. asp.net-mvc – ASP.NET MVC – 在哪里抛出异常?
- 6. asp.net-mvc – asp.net mvc – 在哪里存储userid – integer?
- 7. asp.net – System.Web.Security.MembershipProvider在哪里?
- 8. asp.net-core-mvc – ASP.NET Core MVC控制器在单独的程序集中
- 9. C# – IoC和ASP.NET MVC,它在哪里开始?
- 10. asp.net-mvc – web.config在哪里用于MVC应用程序?
- 更多相关文章...
原文地址:https://www.cnblogs.com/webenh/p/11563512.html
时间: 2024-10-09 21:51:39