【问题标题】:JQuery Dialog + Renderpartial, contents getting repeatedJQuery Dialog + Renderpartial,内容重复
【发布时间】:2013-07-26 08:54:51
【问题描述】:

以下是在对话框中启动内容的链接按钮:

<a href="#" class="details-trigger">Show Dialog</a>

以下是应在 JQuery 对话框中显示的内容:

    <div class="dayblockdetails-modal" data-dialog-title="My Dialog" >
        @{ Html.RenderPartial(MVC.MyController.Views._MyPartialView, myModal); }
    </div>

以下是启动对话框的 JQuery 代码:

$(".details-trigger").off("click");
$(".details-trigger").on("click", function (e) {
    e.preventDefault();
    var dialogtitle = $(".details-modal").attr('data-dialog-title');
    $(".details-modal").dialog("option", "title", dialogtitle);
    $(".details-modal").dialog("open");
});
$(".details-modal", this).dialog({ modal: true, autoOpen: false });

当我第一次单击“显示对话框”链接时,它会正确显示对话框。但是当我关闭并重新打开对话框时,内容会重复。这意味着,部分视图“_MyPartialView”的所有内容都显示了两次,并且在我关闭和重新打开时它们会不断重复 N 次。

这里有什么问题?以及如何解决这个问题?

【问题讨论】:

    标签: jquery asp.net-mvc jquery-dialog renderpartial


    【解决方案1】:

    试试这个代码

        <a href="#" class="details-trigger" onclick="ShowDialog()">Show Dialog</a>
    
    function ShowDialog()
    {
          $('<div>').dialog({
                modal: true,
                open: function () {
                    $(this).load("/Controller/PartialView/?AnyParam=" + id);
                },
                height: 250, width: 400, title: 'My Dialog', buttons: {
                    "OK":function(){
                              //whatever
                                   }
                         }, 
                    close: function(){
                             $(this).html("");
                                     }
        });
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-07-09
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多