2013-06-26 53 views
0

我有兩個ASPX頁面..一個是父,另一個是兒童...父ASPX具有打開孩子ASPX在一個新的窗口,使用下面的代碼的鏈接:如何在不刷新整個頁面的情況下刷新父ASPX控件值?

代碼用於打開彈出ASPX:

//JavaScript function: 
function showPopup() 
{ 
    var strReturn = window.open("TaxReportInputsForm.aspx",'popup','width=390,height=120'); 
} 

按鈕代碼:

Page.ClientScript.RegisterStartupScript(GetType(), "popup", "showPopup();", true); 
我目前使用子窗體的代碼隱藏,設置

父窗體的控件的值,使用會話變量...但問題是,即使父窗體的控件的值更新(通過調試確認),它不會'顯示'新值..

如何在子窗體更改值後,我可以讓父窗體的控件顯示它們的新值嗎?

兩個要求:

  1. 注意,我希望父窗體控件的值更新而 子窗體仍然是開放的。那就是,我不想等待 孩子形式關閉,以觸發此更新..
  2. 我也不想整個父窗體刷新,因爲 導致所有控件的值以重..

我的框架是.NET 2.0 ...

回答

0

問題是父代客戶端代碼與其代碼隱藏代碼之間沒有通信。這是值不在html(客戶端)中更新的原因。現在解決方案正在進行客戶端代碼和服務器之間的通信。1)帶定時器設置的JQuery AJAX調用。只有在打開子彈出窗口後,計時器纔會啓動。現在來自服務器的值可以來到客戶端並通過jQuery DOM更改來更新

2)也可以使用ASP.NET的PageMethod。

+0

我不能使用jQuery ...你能簡單地解釋第二個選項嗎? – Ahmad

+0

您必須由Microsoft提供的ajaxtool工具包請在此處檢查它:http://weblogs.asp.net/jalpeshpvadgama/archive/2011/12/24/page-methods-in-asp-net.aspx – Devesh

相關問題