私は、行のリストを表示する部分的なビューを作成しました。行の一部のフィールドは、テキストボックス、チェックボックスなどを使用して編集可能です。部分ビューで一括保存を実行するにはどうすればよいですか?
親ビューには、更新された行のコレクション全体を投稿する「送信」ボタンがあり、更新された行ごとに一度投稿するのではなく、グループの更新を行うことができます。ここで
は、私が持っているものです。
public class GroupModel {
public string SomeGenericProperty { get; set; }
public IEnumerable<ItemModel> Items { get; set; }
}
public class ItemModel {
public long ID { get; set; }
public string Field1 { get; set; }
public string Field2 { get; set; }
}
それから私は、ビュー "GroupDetails" があります。
@model MyNamespace.GroupModel
...
@using (Html.BeginForm("SaveItems", "Home")) {
<fieldset>
...
@Html.Partial("ItemList", Model.Items)
...
<input type="submit" value="Approve" />
</fieldset>
}
と部分ビューを "ITEMLIST":
@model IEnumerable<MyNamespace.ItemModel>
<table>
<tr>
<th>
Field 1
</th>
<th>
Field 2
</th>
<th>
</th>
</tr>
@foreach (var item in Model) {
<tr>
<td>
@Html.TextBoxFor(modelItem => item.Field1)
</td>
<td>
@Html.TextBoxFor(modelItem => item.Field2)
</td>
<td>
@Html.HiddenFor(i => item.ID)
</td>
</tr>
}
</table>
しかし、私ポストでは、部分ビューからの情報はポストされていません。 GroupModel
オブジェクトのItems
プロパティはnullです。
これは正しい方法はありますか?
信じられません。スピード、正確さ、明快さ - StackOverflowをそのような不可欠なリソースにするのはあなたのような人たちです。どうもありがとうございます! –