2012-02-16 66 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中的模態內容。它創造了模態而不是真正的窗口的幻覺。