ASP.NET MVC Dialog难倒

时间:2010-02-14 08:50:23

标签: asp.net-mvc jquery-ui-dialog

我正在使用jQuery的UI对话框来打开基本表单。我想提交该表单并关闭对话框。我遇到了麻烦。

父窗口打开对话框(其中包含部分视图),点击并提交表单,浏览器在浏览器中打开局部视图。我希望它能够完成表单工作并关闭对话框。

有没有办法通过VIA Ajax.SubmitForm或其他方法执行此操作。

2 个答案:

答案 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");
}

这会在不重新渲染视图的情况下发布到表单。在表单发布成功后,我可以手动关闭对话框。