我的方法将HttpRequestBase作为争论,我发现为什么控制器中的Actions可以访问HttpRequestBase但视图页面有HttpRequest。
是否有理由这样或只是没有考虑过的事情?
答案 0 :(得分:5)
查看页面可以通过ViewContext.HttpContext
访问MVC HttpContext,这是一个HttpContextBase
。
看似双重访问只是由于ASP.Net的工作方式。当你查看Request.HttpContext
时,这是ASP.Net管道注入原始HttpContext
。这可以在任何HttpHandler中访问,无论是MVC控制器或视图,还是WebForms页面或ashx。
答案 1 :(得分:2)
ViewPage继承自System.Web.UI.Page,我非常肯定所有的HttpRequest成员都继承自: