在Razor中读取对象值

时间:2017-10-31 22:10:30

标签: json asp.net-mvc asp.net-mvc-4 razor

我有一个包含类似字符串的ViewData。

{ Param1 = "1", Param2 = "2", Param3 = "3" }

我将它设置为对象razor变量,但我无法像@ myVar.Param1那样读取这些值。

@{
    object myParameters = ViewData["parameters"];
}

我知道如何在JS中这样做,但不是在Razor中。这样做的最佳方式是什么?

此致

2 个答案:

答案 0 :(得分:1)

myParameters应该是动态的:

dynamic myParameters = ViewData["parameters"];

答案 1 :(得分:1)

由于您使用的是其他地方(在控制器中)定义的匿名类型的对象,因此您无法对属性进行强类型访问。但是你应该可以使用Eval:

ViewData.Eval("parameters.Param1")

虽然我鼓励你考虑为这个模型定义一个类。