0

我有一个通过 ViewData 传递到我的视图的数组。这个数组由我的一个模型的几个元素组成。

我想遍历这些元素并将javascript代码与对象的元素一起使用。

伪代码示例:

for x in ViewData["asdasd"] {

  foo(x.Property)

}

foo 是一个 JavaScript 函数。

我怎样才能做到这一点?

4

3 回答 3

2

使用反射来获取值。(编辑是因为我意识到我一开始完全误解了这个问题)

@{ 
 Type t = typeof(MyModelType);
 foreach (string x in ViewData["mykey"])
 { 
     var propertyVal = t.GetProperty(x).GetValue(MyModelObject, null);
     @Html.Raw("foo('" + propertyVal + "')");
 }
}
于 2012-05-05T18:07:39.527 回答
1

如果我是正确的尝试:

var myArray = new Array();
myArray = <%= ViewData[yourarray] %>;

for (var i = 0; i < myArray.length; i++) {
    foo(myArray[i]);
    //Do something
}
于 2012-05-05T18:07:21.383 回答
1

你可以使用这样的东西:

@{
foreach (var firstName in (ViewData["my_list"] as IEnumerable<string>)) {
    @Html.Raw(firstName);<br />
}

}

于 2013-01-08T12:40:15.700 回答