2012-02-16 16 views
0

私はasp.net mvc 3でビューを持っており、JavaScriptのモーダルで開く必要があります。私はこのようなshowModalDialog呼び出すモーダルjavascript:フォームを送信すると新しいウィンドウが開きます

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

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

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

だから、私は新しい、例えば、入力を記入せずにボタンを保存を押したときに私の見解は、このように、簡単なフォームを持っていますウィンドウが開き、検証エラーのあるビューが表示されます。それはなぜ起こるのですか?新しいウィンドウを開くことなくフォームを送信できますか?おかげさまで

+0

+1

私はここに同様のコードを書いているので、タイプミスです。 – Leila

答えて

1

IEでshowModalDialogを使用しているときも同じことが起こりました。

私のソリューションは、フレーム(フレームセットまたはiframe)が含まれているドキュメントを開き、必要なページを開きます。フレームは新しいウィンドウを開くことなくポストバックできます。

実ページ/ビューを引数として受け入れる「ダイアログ」ページ/ビューを作成することをお勧めします。コードでは、フレームのsrcをそのページ/ビューに設定します。

代わりに、jQuery UIにあるモーダルのものを見たいと思うかもしれません。それは本当の窓ではなく、モーダルであるという幻想を作り出しました。

関連する問題