私のビューモデルには、次のようなアイテムのリストが含まれています。
public class MyViewModel
{
public List<Item> Items { get; set; }
}
public class Item
{
public string Question { get; set; }
public string Answer { get; set; }
}
私のビューでは、エディターテンプレートを使用してすべてのアイテムをレンダリングしています。
@model MyApp.Models.MyViewModel
@using (Html.BeginForm()) {
@* Display all of the questions and answers *@
@Html.EditorFor(m => m.Items)
}
Item.cshtmlエディターテンプレートは、各質問とそれに関連する回答のエディターをレンダリングします。
@model MyApp.Models.Item
@Html.TextBoxFor(m => m.Question)
@Html.EditorFor(m => m.Answer)
レンダリングされたHTMLで、EditorForマジックは、モデル階層にマップする配列表記を含む要素名を生成します。例:
<input name="Items[0].Answer"
私の質問は次<div>
のとおりです。idに同じ配列インデックス値が角かっこで囲まれている要素を次のようにレンダリングしたいと思います。
<div id="Items[0].something">
<something />
</div>
Item.cshtmlが正しい角かっこ表記を含むid値を作成する簡単な方法はありますか?