0

テーブル行の各要素をレンダリングするモデルの子コレクション (「Vehicles」) の部分ビューを作成しています。したがって、私のモデルは次の形式になります

@model IEnumerable<OrderVehicleViewModel>

モデルバインディングを機能させるには、各要素の名前を次の形式にする必要があります

Vehicles[0].LicenceExpiry

EditorFor を使用すると、名前がフォームで生成されます

item.LicenceExpiry

HtmlAttributes に名前の値を設定すると、無視されているように見えます。これを回避するには、次のことを行う必要があります。

@Html.TextBox("Vehicles[" + i + "].LicenceExpiry", item.LicenceExpiry)

問題は、TextBox がモデルの DisplayFormat 属性に準拠していないため、すべての書式設定が失われることです。つまり、単純なブール プロパティの SelectLists を手動で作成する必要がありますが、EditorFor で使用されるデフォルトのテンプレートがそれを行います。これを達成するための最良の方法は何ですか?

4

0 に答える 0