に問題がありAjax submit
ます。View
をレンダリングするメインがPartialView
あり、最後のメインの中に別の をロードしますPartialView
。このようなもの:
メインビュー
要素のリスト ->
PartialView
1- 新しい要素を作成 -> 1
PartialView
の中に 2PartialView
- 新しい要素を作成 -> 1
私はAjaxBeginForm
置換および更新オプションを使用しています:
@using (Ajax.BeginForm("Create", "MyController",
new AjaxOptions { InsertionMode = InsertionMode.Replace, UpdateTargetId = "form0", HttpMethod = "POST" }))
私の問題は、送信が初めて非常にうまく機能することです。新しい要素を保存し、1 を再レンダリングしPartialView
ます (リストを更新します)。再度送信する場合は、PartialView
1 にリダイレクトされます。
なぜそれが起こっているのですか?私のコードでは何が問題なのですか? どうすればできますか?
これが私のコントローラーアクションです:
[HttpPost]
public PartialViewResult Create(Model viewModel)
{
viewModel.Save(viewModel.FormModel);
var newViewModel = new DefaultViewModel(viewModel.xID,viewModel.yID);
return PartialView("_DefaultPartialView", newViewModel);
}
私のアクションはPartialView
?を返します。タイプである必要がありJsonResult
ます ?
そしてPartialView
1:
@using (Ajax.BeginForm("CreateBehaviorLog", "BehaviorLog", new AjaxOptions { InsertionMode = InsertionMode.Replace, UpdateTargetId = "form0", HttpMethod = "POST" }))
{
@model DefaultViewModel
@Scripts.Render("~/bundles/jquery")
<h2>Title</h2>
{ Html.RenderPartial("PartialView2", Model.ModelForPartialView2); }
<div id="listOfELements">
@foreach(var item in Model.X)
{
--list--
}
</div>
}
ありがとうございました。
アップデート:
これを修正しました(これは非常に初心者の間違いでした)。明日、答えを投稿します。今はちょっと遅くて、寝る必要があるからです!