1

ASP.Net MVC3 アプリケーションに「ユーザー設定」ページがあります。このページには、アニメーション用の凝った Javascript と CSS がたくさん含まれています。このページでは、ユーザーが自分の Web サイトの設定を変更できます。これは、それ自体への投稿を通じて行います。

このページを Jquery UI ダイアログ ボックスに表示する作業が行われました。次のJavascriptコードでこれを成功裏に達成できました

$(document).ready(function () { 
        $('#settings-link').click(function () {
            var tag = $("<div></div>");
            $.ajax({
                url: "MyWebsite/MySettings",
                success: function (data) {
                    tag.html(data).dialog({ modal: true }).dialog('open');
                }
            });
        });
    });

困っているのは以下の通り

ユーザーが設定を変更して [送信] ボタンをクリックすると、jquery ダイアログ ボックスが消え、バックグラウンド ページにポストバック ページが表示されます。理想的には、ユーザーが変更を行い、ポストバックが jquery ダイアログ自体に表示されるようにしたいと考えています。どうすればこれを達成できるかについてのアイデアはありますか?

4

1 に答える 1

0

AJAXを使用してダイアログ投稿データ内に形成する必要がありますか?控えめなAJAXを使用していますか?また、jQuery UIダイアログが作成されるかどうかを確認してくださいiframe(これには開発者ツール(F12)を使用してください)。

編集:

ダイアログ内に投稿結果を表示するには、次の方法を使用できます。

  1. フォームをAJAXフォームとして宣言します。@Ajax.BeginForm()を使用し、まだ完了していない場合は、jquery.ajax-unobtrusive.jsへのリンクをページに追加します。
  2. ダイアログを表示するjavascript内で、divにIDを指定しますラッパーdivが含まれます var tag = $("<div id='form-wrapper-div'></div>");

  3. AJAXオプションで、UpdateTargetIdを「form-wrapper-div」に設定します

これで、POST結果がダイアログ内に表示されます。

于 2012-09-26T19:41:23.900 に答える