我在asp.net mvc 3中有一个视图,我需要在一个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 :(得分:1)
是的,我在IE中使用showModalDialog时看到了同样的事情。
我的解决方案是打开一个包含所需页面的框架(框架集或iframe)的文档。框架可以回发而无需打开新窗口。
我建议创建一个“对话框”页面/视图,接受真实的页面/视图作为参数。在de code中,将帧的src设置为该页面/视图。
作为替代方案,您可能希望查看jQuery UI中的模态内容。它创造了一种模态的幻觉,而不是一个真正的窗口。