私はこのようなアクションメソッドを持っています:
[ChildActionOnly]
public ActionResult NewUserLanguage()
{
...
return View(model);
}
このビューには、1 つの単純なフォームと部分ビューのリストがあります。
<ul id="userLanguagesListBox">
@foreach (var l in Model.UserLanguages)
{
<li>
@{Html.RenderPartial("UserLanguageBox", l);}
</li>
}
...
この部分的なビューは次のようになります。
...
@using (Html.BeginForm("EditUserLanguage", "UserLanguage", FormMethod.Post, new { id = "editUserLanagegeForm" }))
{
<ul>
<li><h3>@Model.Language.Name</h3></li>
<li>@Model.LanguageLevel.Name</li>
<li>
@Html.HiddenFor(x=>x.UserLanguageId)
<button class="editButton">Edit</button>
</li>
</ul>
}
私がやろうとしているのは、ユーザーがパーシャルの編集ボタンをクリックしたときに、別のビューに切り替えたいということEditUserLanguage
です。
私はこのようなことを試しました:
$(function () {
$('#editUserLanagegeForm').submit(function (e) {
alert('ss');
$.ajax({
url: this.action,
type: this.method,
data: $(this).serialize(),
success: function (result) {
$("#" + e.target).closest("div").append(result);
}
});
return false;
});
});
ただし、この関数は編集ボタンから呼び出されることはありません。