1

ダイアログにビューまたはパーシャルビューを表示したい。ASP.NET Mvc 4のデフォルトテンプレート(AjaxLogin.js)に例があります。ログインがajaxの場合、AjaxLogin.jsがキャッチします。そして、jsonresultまたはactionresultを実行します。AjaxLoginは、パラメーターをダイアログに渡すことでこれを制御します。したがって、パラメータを渡すことは私にとって重要です。

指定したフォームでのこのライブラリの使用に問題がありますか?または、このトピックに関する別のjsライブラリはありますか?

私はjqueryuiについて新しいです。私は今、他のフォームのために、私のプロジェクトでAjaxLogin.jsを使用しています。そして、彼らは働きます。使い続けるべきですか。

ありがとう。

4

2 に答える 2

8

ダイアログにはjQueryUIライブラリを使用できます。このように簡単です

1)ページ/レイアウトにjQuery UIライブラリ(CDN / LocalCopyから参照)への参照を追加します

<script src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.8.16/jquery-ui.min.js" type="text/javascript"></script>
<link href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.16/themes/base/jquery-ui.css" rel="stylesheet" type="text/css" />

2)リンクに特定のクラスを追加して、jQueryセレクターとして使用できるようにします

@Html.ActionLink("Email", "Details", "Customers", null, new { @class = "popupLinks" })

3)Diloag機能をDOMレディイベントのリンクにバインドします

<script type="text/javascript">
    $(function(){
        $(".popupLinks").click(function (e) {
            var url = this.href;
            var dialog = $("#dialog");
            if ($("#dialog").length == 0) {
                dialog = $('<div id="dialog" style="display:hidden"></div>').appendTo('body');
            }
            dialog.load(
                url,
                {}, // omit this param object to issue a GET request instead a POST request, otherwise you may provide post parameters within the object
                function (responseText, textStatus, XMLHttpRequest) {
                    dialog.dialog({                       
                        close: function (event, ui) {                            
                            dialog.remove();
                        },
                        modal: true,                            
                         width: 460, resizable: false
                    });
                }
            );           
            return false;           
        });
    });
    </script>

リンクをクリックすると、コントローラーのDetailsアクションメソッドの結果の内容が表示されます。Customers(シナリオに応じて変更できます)

于 2012-07-06T15:31:58.107 に答える
1

あなたがその機能に満足していて、それがあなたのために働くなら、それからそれを選んでください。私はajaxlogin.jsを使用したことがないので、直接コメントすることはできませんが、部分的なビューを表示するためのモーダルダイアログとしてFancyBoxを使用して大成功を収めました。

于 2012-07-06T15:25:51.113 に答える