我正在使用jQuery的UI对话框来打开基本表单。我想提交该表单并关闭对话框。我遇到了麻烦。
父窗口打开对话框(其中包含部分视图),点击并提交表单,浏览器在浏览器中打开局部视图。我希望它能够完成表单工作并关闭对话框。
有没有办法通过VIA Ajax.SubmitForm或其他方法执行此操作。
答案 0 :(得分:0)
您需要捕获表单的onsubmit事件,通过Ajax发送表单,关闭对话框然后Return False
以阻止浏览器再次提交表单并进行整页回发。
答案 1 :(得分:0)
我找到了一个理想的解决方案,并且无法相信我之前无法解决它。只需使用AjaxOptions的OnSuccess函数使用Ajax.BeginForm。
<% using (Ajax.BeginForm("Action", "Controller", new AjaxOptions { OnSuccess = "CloseDialog" })) { %>
<%= Html.Hidden("ID", ViewData["ID"]) %>
<input type="submit" value="Submit" />
<% } %>
function CloseDialog() {
$("#ImageCropModal").dialog("close");
}
这会在不重新渲染视图的情况下发布到表单。在表单发布成功后,我可以手动关闭对话框。