2012-02-16 76 views
0

我在asp.net mvc 3中有一个视图,并且需要以javascript模式打开它。我认为有一个简单的形式,像这样:Modal javascript:在提交表单时打开新窗口

@using(Html.BeginForm("Save", "ControllerName")) 
{ 
    @Html.TextBoxFor(model => model.Text) 
    @Html.ValidationMessageFor(model => model.Text) 

    <button type="submit">Save</button> 
} 

我所说的在showModalDialog这样的:

window.showModalDialog('@Url.Action("Show", "ControllerName")'); 

所以,当我按下保存按钮没有填写输入,例如新窗口打开,显示带有验证错误的视图。为什么会发生?我可以在不打开新窗口的情况下提交表单吗? 谢谢。

+0

你知道你错过了一个双引号吗? – 2012-02-16 19:11:17

+1

我在这里写了一个类似的代码,所以这是一个打字错误。 – Leila 2012-02-16 19:18:12

回答

1

是的,我在IE中使用showModalDialog时看到了同样的情况。

我的解决方案是打开一个文档,其中包含一个框架(frameset或iframe)与您想要的页面。该框架可以回发而无需打开新窗口。

我建议创建一个接受真实页面/视图作为参数的“对话框”页面/视图。在解码中,将帧的src设置为该页面/视图。

作为替代方案,您可能需要查看jQuery UI中的模态内容。它创造了模态而不是真正的窗口的幻觉。

相关问题