Asp.net mvc 4 在HTMLHelper之间共享数据

Asp.net mvc 4 在HTMLHelper之间共享数据,asp.net-mvc-4,Asp.net Mvc 4,我正在寻找一种在HTMLHelper之间共享数据的方法。目标是设置一次配置,而不是每次调用都传递一个参数。在下面的示例中,我将设置表单类型以确定网格配置: @{Html.SetFormType(HtmlHelpers.FormType.Boxed);} @FormItemFor(m=>m.LoginName) @FormItemFor(m=>m.Password) public static void SetFormType(此HtmlHelper助手,FormType FormType) {

我正在寻找一种在HTMLHelper之间共享数据的方法。目标是设置一次配置,而不是每次调用都传递一个参数。在下面的示例中,我将设置表单类型以确定网格配置:

@{Html.SetFormType(HtmlHelpers.FormType.Boxed);}
@FormItemFor(m=>m.LoginName)
@FormItemFor(m=>m.Password)
public static void SetFormType(此HtmlHelper助手,FormType FormType)
{
helper.ViewBag.FormType=FormType;
helper.ViewContext.ViewBag.FormType=FormType;
}
设置
ViewBag
不会在后续的
@Html
调用中保持不变。设置
ViewContext.ViewBag
仍然存在,但这样做安全吗


现有的方法
EnableUnobtrusiveJavaScript
是在
ScopeCache
类的实例中设置的,该类又被添加到
HttpContext.Items
。也许这也是存储我的数据的候选对象?

您可以使用基于请求的范围对象
HttpContext.Current.Items
,因为
HttpContext.Current
实际上是请求中唯一唯一唯一且始终存在的容器

干杯

附言:不要把所有的东西都直接放进物品里。只需在那里添加一个控制器项,然后进行此操作