当用户点击超链接时,我想运行一个后台进程。在我运行之前,我想使用 jQuery 对话框(表单)询问用户的许可。当用户在表单上单击“确定”时,我想使用 jQuery ajax 运行该操作。如果过程失败,那么我想用“错误”更新那个弹出窗口。如何使用 jQuery AJAX 在 asp.net MVC 中执行此操作。下面是我试过的代码
这是我的 MVC Ajax 开始表单代码
@using (Ajax.BeginForm("Action1", "Controller1", new AjaxOptions { UpdateTargetId = "eProcess" }, new { id = "eProcess" }))
{
@Html.Hidden("eID", eId);
@Html.Hidden("processName", "processName");
<div class="hide" id="dialog" title="Confirmation Required">
Are you sure you want to update this record? <br />
<input type="button" value="Hit" id="btnHit" />
</div>
}
下面是我的对话框代码
$("#dialog").dialog
({
dialogClass: "ee-detail-info",
closeOnEscape: false,
height: 200,
width: 300,
modal: true,
autoOpen: false,
open: function (event, ui) {
$("#btnHit").click(function () {
$('#processName')[0].value = processName;
document.forms.eProcess.submit();
});
}
});
我什至尝试使用 .ajax 方法,但它仍然在做完整的回发。我仔细检查了我的 jQuery 文件。它们在页面上正确链接。
$("#eProcess")[0].submit(function () {
$.ajax({
url: $("#eProcess")[0].action,
success: function (res) {
alert("Success");
}
});
});
更新
我让它与您的解决方案一起使用。我的代码中有错误。