2011-10-27 111 views
0

我有一個父窗口,其中包含產品列表。通過點擊產品的話,會使用jQuery 代碼調用popUpWindow:使用jquery重新加載父窗口

$('a.modalDlg').click(function() { 
    var urlPath= "/controllerName/actionName"; 
    var title="sample"; 
    var features="width = 400, height = 150,scrollbar=no"; 
    window.open(urlPath, $title, $fea); 
    }); 

在子窗口,保存後點擊按鈕 - >子窗口將關閉,父窗口將重新加載。

 window.opener.location.reload(); 
    window.close(); 

之後,插入的值將顯示在父窗口中。

但是,而不是重新加載整個頁面(「window.opener.location.reload()」)。 是否有可能觸發包含產品列表的控制器中的特定方法?????? 例如:

public ActionResult DisplayProductDetails() 
     { 
      //some code 
     return view(); 
     } 

如此,因爲這個它會顯示在父窗口&新插入的產品,將給予更好看,而不是重新加載整個頁面。 (這與重新加載HTML中的框架相同)。

我幫你解決了這個問題。

在此先感謝。

回答

0

子窗口注入JS方法您父窗口的

<script type="text/javascript"> 
window.updateWithNewData = function() { 
    $.ajax({ 
     url: "url/to/your/partial/view/that/returns/new/data", 
     success: function(data) { 
      $("#dataContainer").append($("<div></div>").html(data)); 
     } 
    }); 
} 
</script> 

調用此

window.opener.updateWithNewData(); 
window.close(); 

OR

你可以通過提供拯救請求到服務器一個JSON對象作爲參數updateWithNewData即從彈出窗口中構建您的給定數據。並使用通過您的父窗口傳遞的數據。

希望得到這個幫助!

0

在Chicld窗口呼叫呼叫控制器方法
C#後僅close方法hasd下面的代碼

[HttpPost] 
public ActionResult DisplayProductDetails() 
{ 
    //some code 
    return view("ViewName",ModelNameObject); 
} 

jQuery的Ajax調用,使事件來觸發類似下面

$.ajax({ 
url:'UR URL to here' 
dataType :'text json' 
Method:Post 
Success:function(data) 
{ 
    $("#ParenetDivID").html(data); 
} 
}); 
相關問題