divのリストがあります。
div のボタンをクリックすると、フォームを含む部分ビューで div コンテンツを切り替えます。
これは、そのボタンをクリックしたときに発生するコードです。
@Html.ActionLink("edit", "EditUserLanguage", "UserLanguage", new { userLanguageId = Model.UserLanguageId }, new { @class = "editButton" })
...
$(document).on('click', '.editButton', function (e) {
$.ajax({
url: this.href,
cache: false,
success: function (html) {
var id = $(e.target).closest("div").attr("id");
$("#" + id).empty();
$("#" + id).append(html);
}
});
return false;
});
私が追加したHtml(部分ビュー)には次のものがあります:
@using (Html.BeginForm("UpdateUserLanguage", "UserLanguage", FormMethod.Post, new { id = "updateUserLanagegeForm" }))
{
...
このメイン ビューは div のリストであり、この新しい部分ビューを追加する場所には、次のコードがあります。
$(function () {
$('#updateUserLanagegeForm').submit(function () {
$.ajax({
url: this.action,
type: this.method,
data: $(this).serialize(),
success: function (result) {
alert("work");
}
});
return false;
});
}); //update
送信アクションメソッドをクリックすると、新しい部分ビューが返されますが、経由では返されませんajax
。
その部分的なビューのみが返されます。alert("work");
呼び出されることはありません。
この ajax 呼び出しが機能しない理由は何でしょうか?