2011-06-23 34 views
0

我有一個aspx頁面,彈出一個新窗口來編輯一些信息。當用戶編輯完成,他們點擊保存,並在保存事件結束時,我有這樣的C#代碼:window.parent.location.reload(true);造成問題!

Context.Response.Write("<script type='text/javascript'>window.parent.location.reload(true);window.frameElement.commitPopup();</script>"); 
Context.Response.Flush(); 
Context.Response.End(); 

讓父頁面將刷新並顯示更新信息。我的問題是,如果我在前一頁上執行了一些導致回發的其他操作,上面的代碼將嘗試重做該回發(試圖刪除一個項目)。

有沒有一些方法可以在不重做最後一個回發的情況下更新我的父頁面上的信息?

+0

沒有時,將觸發彈出父頁面上關閉的事件。你可以處理它,也許只需刷新需要刷新的部分。 –

回答

1

爲什麼不直接用隨機parametre加載相同頁面,給力的負荷,但不能進行重裝,使和回來後

window.parent.location.href = window.parent.location.href + '?rnd=' + Math.random(); 

現在,如果您的href都準備好其他參數應用,你可以添加& rnd

如果你讓很多重載可以取代RND這樣的:

window.parent.location.href = window.parent.location.href.replace(/\?rnd.*$/, '?rnd' + Math.random()); 

你也可以做

window.parent.location.replace(window.parent.location.href.replace(/\?rnd.*$/, '?rnd' + Math.random())); 
+0

完美!謝謝! –