我有一個數組通過ViewData傳遞給我的視圖。這個數組由我的一個模型的幾個元素組成。通過ViewData數組遍歷並使用javascript代碼
我想遍歷這些元素並使用對象元素的javascript代碼。
實施例中的僞代碼:
for x in ViewData["asdasd"] {
foo(x.Property)
}
foo是JavaScript函數。
我怎樣才能做到這一點?
我有一個數組通過ViewData傳遞給我的視圖。這個數組由我的一個模型的幾個元素組成。通過ViewData數組遍歷並使用javascript代碼
我想遍歷這些元素並使用對象元素的javascript代碼。
實施例中的僞代碼:
for x in ViewData["asdasd"] {
foo(x.Property)
}
foo是JavaScript函數。
我怎樣才能做到這一點?
使用反射來獲取值。 (編輯,因爲我意識到我完全誤解了起初的問題)
@{
Type t = typeof(MyModelType);
foreach (string x in ViewData["mykey"])
{
var propertyVal = t.GetProperty(x).GetValue(MyModelObject, null);
@Html.Raw("foo('" + propertyVal + "')");
}
}
如果我是正確的嘗試:
var myArray = new Array();
myArray = <%= ViewData[yourarray] %>;
for (var i = 0; i < myArray.length; i++) {
foo(myArray[i]);
//Do something
}
你可以使用這樣的事情:
@{
foreach (var firstName in (ViewData["my_list"] as IEnumerable<string>)) {
@Html.Raw(firstName);<br />
}
}
哪裏的X從何而來? – seth
編輯我的答案。 – glarkou