如果使用 AJAX 呈现部分视图,则 Ajax.BeginForm 发布两次
Ajax.BeginForm posts twice if partial view is rendered with AJAX
这是场景:
- 部分视图由某些JavaScript检索(AJAX调用控制器返回部分视图),并将HTML添加到DOM
- 分部视图包含由
Ajax.BeginForm()
呈现的窗体 - 提交表单(单击提交按钮)时,它会发布两次
如果我使用带有Html.Partial()
的原始视图渲染部分视图(而不是使用 JavaScript 添加它),则表单仅按预期提交一次。
用于添加分部视图的脚本如下所示:
$.ajax({
type: 'GET',
url: '/MyController/MyAction',
cache: false,
contentType: "application/html; charset=utf-8",
dataType: 'html',
success: function (result) {
$('#body').append(result);
}
});
有什么想法吗?:)谢谢!
我是个白痴。我的控制器返回了 View 而不是 PartialView - 所以它当然包含所有的 JavaScript 资源。换句话说,问题是由两个不显眼的脚本链接引起的。:/
相关文章:
- 如何处理Ajax.BeginForm()OnError OnFailure回调
- 使用jQuery的.on()方法阻止Ajax.BeginForm中提交的默认行为
- Ajax.BeginForm标识在OnComplete方法中单击的按钮
- ajax.beginform() 不更新部分视图 MVC
- 无法重载 Ajax.BeginForm 的提交方法
- 如何通过AJAX.BeginForm'onsuccess被称为
- Ajax.BeginForm 确认无法正常工作
- 部分视图在 ajax.beginform 之后不会更新
- Ajax.BeginForm 强制完全回发
- Ajax.BeginForm() 不会回发到控制器
- 查看从 Ajax.BeginForm 返回的数据
- 如果使用 AJAX 呈现部分视图,则 Ajax.BeginForm 发布两次
- 使用JavaScript提交Ajax.BeginForm()
- 在Ajax.BeginForm的“确认”对话框中添加对象routedValue
- AJAX.beginform is javascript,isn't it?
- 使用Ajax.BeginForm更新表单
- 当Ajax.BeginForm时在Internet Explorer 8上添加的jQuery属性
- Ajax.BeginForm淡出不起作用
- 无法使用 Ajax.BeginForm() 异步上传文件
- OnSuccess脚本在我的Ajax.BeginForm正在传递错误的数据