【发布时间】:2010-02-01 21:01:26
【问题描述】:
我的方法以 HttpRequestBase 作为论据,我对为什么控制器中的操作可以访问 HttpRequestBase 但视图页面有 HttpRequest 感到奇怪。
这是有原因的还是只是没有经过深思熟虑的事情?
【问题讨论】:
标签: c# asp.net asp.net-mvc
我的方法以 HttpRequestBase 作为论据,我对为什么控制器中的操作可以访问 HttpRequestBase 但视图页面有 HttpRequest 感到奇怪。
这是有原因的还是只是没有经过深思熟虑的事情?
【问题讨论】:
标签: c# asp.net asp.net-mvc
查看页面可以通过ViewContext.HttpContext 访问MVC HttpContext,这是一个HttpContextBase。
看似双重访问只是由于 ASP.Net 的工作方式。当您查看Request.HttpContext 时,这是 ASP.Net 管道对原始HttpContext 的注入。这可以在任何 HttpHandler 中访问,无论是 MVC 控制器或视图,还是 WebForms 页面或 ashx。
【讨论】:
ViewPage 继承自 System.Web.UI.Page,我非常肯定所有 HttpRequest 成员都继承自:
【讨论】: