gpt4 book ai didi

c# - ASP.NET MVC 获取表单值的两种不同方法

转载 作者:行者123 更新时间:2023-11-30 23:31:34 25 4
gpt4 key购买 nike

我正在创建自己的 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;
}
}

所以除非你做一些特定的事情来在你的 Controller 上设置RequestContext(例如,在单元测试中可能发生),RequestContext.HttpContext 将是相同的作为 HttpContext 属性本身。

您不太可能遇到这两个值不同的情况。

关于c# - ASP.NET MVC 获取表单值的两种不同方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34549882/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com