这样做的方法是:
- 将点击监听器添加到操作链接
- 使用 Ajax 提交表单
- 通过设置手动点击链接
window.location
在提交表单时显示某种微调器或弹出窗口可能是个好主意,以便用户知道正在发生某些事情。
对于第 1 步,您需要选择<a>
标签,因此我建议添加一个类:
@Html.ActionLink("Edit","Edit","Item",new{Id=ItemId),new{@class="edit-link"}}
然后添加一些Javascript来拦截点击:
$(document).on("click", ".edit-link", function(e) {
// stop the browser from following the link
e.preventDefault();
var linkUrl = $(this).attr("href");
// submit the form via an Ajax post (assuming the form has "id=MasterForm")
var form = $("#MasterForm");
$.post(form.attr("action"), form.serialize(), function() {
// when complete, navigate to the original link
window.location = linkUrl;
});
});