在视图之间共享数据

时间:2017-02-10 10:58:40

标签: c# asp.net-mvc viewdata

我对C#ViewData有点问题。

在第一个视图中,我呼吁:

@Html.EditorFor(m => m.IndividualModel, "_Individual", 
                     new ViewDataDictionary { { "processType", "ABC" } })

第二,我想把这个值变成这样的变量:

var processType = ViewData["processType"];

但是,来自字典的processType始终为空。

拜托,你知道出了什么问题吗?

1 个答案:

答案 0 :(得分:0)

您使用的this overload EditorFor()其中第三个参数(additionalViewData)的类型为object,而不是ViewDataDictionary的类型。从文档(我的重点)

  

additionalViewData
  键入: System.Object
  一个匿名对象,可以包含合并到ViewDataDictionary< TModel>中的其他视图数据。为模板创建的实例。

将方法更改为

@Html.EditorFor(m => m.IndividualModel, "_Individual", new { processType = "ABC" })

并在模板中

@{ var processType = ViewData["processType"]; }
<div>@processType</div> // renders "ABC"