ASP.NET MVC获取表单值的两种不同方法
本文关键字:两种 方法 NET MVC 获取 表单 ASP | 更新日期: 2023-09-27 18:28:40
我正在创建自己的ModelBinder。
我从属性ControllerContext.HttpContext
获得的HttpContext
中获得形式值。
但还有另一种方法可以获得这种上下文,即ControllerContext.RequestContext.HttpContext
。
这些方法有什么主要区别吗?它们中的任何一个在某些情况下会失败吗?
以下是RequestContext
:的源代码
public RequestContext RequestContext
{
get
{
if (this._requestContext == null)
this._requestContext = new RequestContext(this.HttpContext ?? (HttpContextBase) new ControllerContext.EmptyHttpContext(), this.RouteData ?? new RouteData());
return this._requestContext;
}
set
{
this._requestContext = value;
}
}
因此,除非您在控制器上设置RequestContext
(例如,在单元测试中可能发生的情况),否则RequestContext.HttpContext
将与HttpContext
属性本身相同。
您不太可能遇到这两个值不同的情况。