注文を表示するページと、注文の詳細を表示するタブがある場合があります。注文の詳細は非常に複雑で、同じレイアウトであるため、フォームを生成する部分ビューまたはエディター テンプレートを使用したいと考えています。
問題は、結果として複数の重複するフォーム入力 ID が生成されることです (注文の詳細ごとに 1 つです。たとえば、次のようなものがあります。
foreach (var orderDetail in Model.OrderDetils)
{
@Html.EditorFor(model => orderDetail, "WorkOrder", orderDetail)
}
私はこれについて多くのことを読み、editortemplate を使用することが推奨される解決策を見てきましたが、その解決策は、レンダリングするフォームが同じであるが、異なるモデル プロパティを渡す場合にのみ機能するため、コントロール ID のプレフィックスが異なります...つまり. このソリューションのように。
私の場合、渡すモデル プロパティが常に同じであるため、これは機能しません。
では、バインドする部分テンプレートまたはエディター テンプレートで一意の ID を作成するにはどうすればよいでしょうか。
私は代わりに知っています:
@Html.EditorFor(model => model.WOHdr.Attribute1)
私はそれをできた:
@Html.TextBoxFor(model => model.WOHdr.Attribute1, new { id = Model.Id + "_Attribute1" })
ただし、コントローラーに渡されるとバインドされません。
考え?