MVC JQuery Dialog提交超过1次

时间:2012-10-31 09:28:53

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

我正在使用JQuery的UI对话框来打开表单。我的尝试是提交并关闭对话框。我遇到了麻烦。

父窗口打开对话框(其中包含部分视图),点击并提交表格,这是第一次将数据保存在数据库中。但是,如果我再次单击打开对话框并提交,则在DB中保存有2个数据行,且值相同。

我的代码如下:

$('#newFileDialog').dialog('destroy');$('#newFileDialog').remove();

此代码有问题吗?

感谢您的帮助。

更新

部分观点:

@using(Html.BeginForm("New", "File", new {}, FormMethod.Post, new { Id = "newFileForm" }  ))
{    
   @Html.ValidationSummary()    
   @Html.RenderHTML(
        new TabContainerViewModel(
                new TabViewModel { Name = "File", ViewName = "Common", Model = Model, Visible = true},
                new TabViewModel { Name = "Permission", ViewName = string.Empty, Visible = true}
            ) { Id = "createFileTabs", Visible = true })    
   @Html.SubmitButton("Send")
}
@{ Html.JQueryAjaxForm("newFileForm", "containerComponentContent", string.Empty, "$('#newFileDialog').dialog('destroy');$('#newFileDialog').remove();showMessagebox('New File added');"); }

3 个答案:

答案 0 :(得分:0)

关闭模态后,您必须重新使用表单(即$form.reset())才能再次使用它。

答案 1 :(得分:0)

请提供部分查看代码。

我认为您的表单提交了2次。使用firebug检查生成的请求。

答案 2 :(得分:0)

我找到了解决方案。原因是因为现场活动。因此,在提交后,我称之为死亡事件,如下所示:

$('#form').die('click')

它有效!