私の ASP.NET MVC アプリケーションには、多数のフィールドを持つ 3 つのタブを持つ Razor ビューが含まれています。
- タブ1-2にはたくさんのフィールドがあります
- タブ 3 には、部分ビューからレンダリングする必要があるファイル アップロード セクションが必要です。
構造は次のとおりです。
<body>
<div class="container well" >
@using (Html.BeginForm(new { Action = "action X",id="publishingForm" })) {
@Html.AntiForgeryToken()
@Html.ValidationSummary()
<div class="form-horizontal">
<div class="tabbable">
<ul class="nav nav-tabs">
<li class="active"><a href="#requiredtab" data-toggle="tab"><span><strong>Step 1:</strong></span> Enter required fields</a></li>
<li><a href="#optionaltab" data-toggle="tab"><strong>Step 2:</strong> Enter optional fields</a></li>
<li><a href="#uplaodtab" data-toggle="tab"><strong>Step 3:</strong> Upload your video</a></li>
</ul>
<div class="tab-content">
<div class="tab-pane active" id="requiredtab">
</div>
<div class="tab-pane" id="optionaltab">
</div>
<div class="tab-pane" id="uplaodtab">
partial view here
</div>
</div>
</div>
</div>
}
</div>
</body>
</html>
ご覧のとおり、タブの Div はフォームにラップされています (コントローラー X への投稿)。
問題は、ファイル アップロードの部分ビューにも、ハンドラーに投稿する必要があるフォームが含まれていることです。しかし、タブ 3 でファイルのアップロードを開始すると、元のフォームのコントローラー X に投稿しようとしています。
タブ 1 と 2 のフォームに含まれるフィールドがコントローラー X に投稿され、タブ 3 のフォームが正しいハンドラーに投稿されるようにビューを構成するにはどうすればよいですか?
肝心なのは、異なるタブパネルに含まれる2つの異なるフォームに別々に投稿しようとしているということです