ViewData を介してビューに渡される配列があります。この配列は、モデルの 1 つのいくつかの要素で構成されています。
これらの要素を繰り返し処理し、オブジェクトの要素で JavaScript コードを使用したいと考えています。
疑似コードの例:
for x in ViewData["asdasd"] {
foo(x.Property)
}
foo は JavaScript 関数です。
これどうやってするの?
ViewData を介してビューに渡される配列があります。この配列は、モデルの 1 つのいくつかの要素で構成されています。
これらの要素を繰り返し処理し、オブジェクトの要素で 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 />
}
}