以下是在对话框中启动内容的链接按钮:
<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次。
这里有什么问题?以及如何解决这个问题?
答案 0 :(得分:2)
试试此代码
<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("");
}
});
}