我有一个数组通过ViewData传递给我的视图。这个数组由我的一个模型的几个元素组成。
我想迭代这些元素并使用javascript代码与对象的元素。
伪代码示例:
for x in ViewData["asdasd"] {
foo(x.Property)
}
foo是一个javascript函数。
我该怎么做?
答案 0 :(得分:2)
使用反射获取值。 (编辑,因为我意识到我最初完全误解了这个问题)
@{
Type t = typeof(MyModelType);
foreach (string x in ViewData["mykey"])
{
var propertyVal = t.GetProperty(x).GetValue(MyModelObject, null);
@Html.Raw("foo('" + propertyVal + "')");
}
}
答案 1 :(得分:1)
如果我是正确的,请尝试:
var myArray = new Array();
myArray = <%= ViewData[yourarray] %>;
for (var i = 0; i < myArray.length; i++) {
foo(myArray[i]);
//Do something
}
答案 2 :(得分:1)
您可以使用以下内容:
@{
foreach (var firstName in (ViewData["my_list"] as IEnumerable<string>)) {
@Html.Raw(firstName);<br />
}
}