2013-07-26 28 views
1

以下是鏈接按鈕,啓動內容的對話框:JQuery的對話框+的RenderPartial,得到重複內容

<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次。

這裏有什麼問題?以及如何解決這個問題?

回答

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(""); 
           } 
    }); 
}