私の MVC 3 Razor ビューのいくつかを操作すると、フォームをネストする必要があることがわかりましたが、これは不可能です (HTML では許可されていません)。
テーブルを含む、特定のアクションを対象とする 1 つのフォームがあります。しかし、some/all/one_particular tablerow では、別のアクションをターゲットにする必要があります。例えば:
@using (Html.BeginForm("EditPersons"))
{
<table>
<tr>
<th>Name</th>
<th>Age</th>
</tr>
@for (int i=0; i < Model.Persons.Count; i++)
{
<tr>
<td>@Html.TextBox(...)</td>
<td>@Html.TextBox(...)</td>
</tr>
}
<tr>
<td></td>
<td>
@using (Html.BeginForm("AddPerson")
{
<input type="submit" value="Add person" />
}
</td>
</tr>
</table>
}
これで、明らかに [Add person] ボタンをテーブル全体の下に配置できますが、それをテーブルの 2 列目に配置するにはどうすればよいでしょうか?
また、「人を追加」ボタンで非表示フィールドに「コマンド」を入力し、EditPersons アクションで、人を追加するか、既存の人の更新データを保存する必要があるかどうかを確認することもできますが、それはやや面倒だと思います。単一目的のアクションのパラダイムを無効にします (恐ろしく古い学校の ASP の「自分自身への投稿」フォームとは対照的に)。
それで、どうすればこれを解決できますか?