【发布时间】:2015-03-26 15:15:13
【问题描述】:
要了解有关新的令人兴奋的 Asp.Net-5 框架的更多信息,我正在尝试使用新发布的 Visual Studio 2015 CTP-6 构建一个 Web 应用程序。
大多数事情看起来很有希望,但我似乎找不到 Request.IsAjaxRequest() - 这是我在旧 MVC 项目中经常使用的功能。
有没有更好的方法来做到这一点 - 让他们删除了这个方法 - 还是它“隐藏”在其他地方?
感谢您提供有关在哪里找到它或做什么的建议!
【问题讨论】:
-
据我所知,它还在那里。它是
System.Web.Mvc类AjaxRequestExtensions中的扩展方法。那是给MVC5的,我不知道MVC6... -
这就是 OP 所要求的:MVC6。当然,它仍然存在于 MVC5 中。
-
@PatrykĆwiek 好的,是的,我正在测试 MVC6。我当然可能是错的,但它似乎从 "Microsoft.AspNet.Mvc": "6.0.0-beta3" 包中丢失 - 或任何其他标准 mvc-6 包中都带有新的 mvc-6项目。
-
对此不确定,但请尝试:
IsAjaxRequest(),不带Request.前缀。 -
为了临时解决这个问题,我决定复制并修改 System.Web.Mvc.AjaxRequestExtensions 中的方法。希望它可以帮助其他人,直到找到它进入框架的方式。 public static class AjaxRequestExtensions { public static bool IsAjaxRequest(this HttpRequest request) { if (request == null) { throw new ArgumentNullException("request"); } return request.Headers != null && request.Headers["X-Requested-With"] == "XMLHttpRequest"; } }
标签: c# asp.net-mvc asp.net-core asp.net-core-mvc