0

やあ; 私は問題があります。Webページでポップアップ(Jqueryuiポップアップ)を開きたいです。でもできないんです。正しく作る方法は?

意見:


    grid.Column("", format: (item) => Html.ActionLink("Click", "", "", new { @customerId = ConvertUtil.ToInt(item.Id) }, new { @class = "popupLink" })),

OR

grid.Column("", format: (item) => Html.ActionLink("Click", "Edit", "Customer", new { @customerId = ConvertUtil.ToInt(item.Id) }, new { @class = "popupLink" })), Jquery Code:
$(".popupLink").click(function () { jQuery('#dialog').dialog('open'); });

コントローラ



    public ActionResult Edit()
        {
            return View();

        }

ID値も必要です。ポップアップだけではありません。編集ポップアップを開きたいです。任意の行の編集ポップアップを開く方法は?

4

2 に答える 2

1

次のソリューションは、ソース ドキュメントを変更せずに ActionLink で再利用できます。また、読み込みが完了するまでダイアログは表示されません。

$("a.popuplink").live("click", function (evt) {
    evt.preventDefault();        
    $("<div></div>").insertAfter(this);
    $.ajax({
        url: this.href,
        context: this
    }).done(function (data) {
        $(this).next('div').html(data);
        $(this).next('div').dialog();
    });
});

于 2012-08-22T13:07:42.017 に答える
1

まず、クリック イベントのデフォルト アクションを停止する必要があります。

$(".popupLink").click(function (e) {
    $('#dialog').dialog('open');

    e.preventDefault();
});

空のダイアログが表示#dialogされます(もちろん、ビューにコンテナがある場合)。ダイアログを表示する前に、適切なビューをロードする必要があります。私はこれを次のようにします:

var url = $(this).attr('href');
$('#dialog').load(url);

最後に、ソリューション全体:

$(".popupLink").click(function (e) {
    $('#dialog').load($(this).attr('href'));
    $('#dialog').dialog('open');

    e.preventDefault();
});
于 2012-08-22T12:48:38.887 に答える