私は雇用記録のリストを持っています。部分ビューを使用して同じページから雇用記録を追加することもできます。
これは、レコード リストの部分的なビューと、モーダル ポップアップに表示される新しいレコードを追加するための部分的なビューを持つ、employment.cshtml です。
<h2>Employment Records</h2>
@{Html.RenderPartial("_employmentlist", Model);}
<p>
<a href="#regModal" class="btn btn_b" rel="fancyReg">Add New Record</a>
</p>
<div style="display:none">
<div id="regModal">
@{Html.RenderPartial("_AddEmployment", new ViewModelEmploymentRecord());}
</div>
</div>
部分ビュー _AddEmployment.cshtml を次に示します。
@using (Html.BeginForm("AddEmployment, Application"))
{
@Html.ValidationSummary(true)
<div class="formEl_a">
<fieldset>
<legend></legend>
<div class="sepH_b">
<div class="editor-label">
@Html.LabelFor(model => model.employerName)
</div>
etc....etc....
</fieldset>
</div>
<p>
<input type="submit" class="btn btn_d" value="Add New Record" />
</p>
}
ここに私のアプリケーションコントローラーがあります:
[HttpPost]
public ActionResult AddEmployment(ViewModelEmploymentRecord model)
{
try
{
if (ModelState.IsValid)
{
Add Data.....
}
}
catch
{
}
return View(model);
}
コンパイルすると、フォーム用に次の html が生成されます。
<form action="/Application/Employment?Length=26" method="post">
それは長さの文字列をもたらしますか?代わりに雇用コントローラーを呼び出していますか?
すべてが明確であることを願っています....
質問 1:部分ビュー内から送信ボタンをクリックすると、データを追加するために指定されたコントローラーに移動しません。どこが間違っているのか誰にもわかりますか?
質問 2:これが機能するようになったら、新しいレコードで雇用リストを更新したいと思います....これは正しい方法ですか? ヒントをいただければ幸いです。