0

我有两个 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);

我目前正在使用子窗体的代码隐藏,设置父窗体的控件的值,使用会话变量......但是问题是,即使父窗体的控件的值更新(通过调试确认),它没有t“显示”新值..

在子窗体更改值后,如何使父窗体的控件显示其新值?

两个要求:

  1. 请注意,我希望在子窗体仍处于打开状态时更新父窗体的控件值。也就是说,我不想等待子窗体关闭,以触发此更新..
  2. 我也不希望整个父窗体刷新,因为这会导致所有控件的值重置..

我的框架是.NET 2.0 ...

4

1 回答 1

0

问题是父客户端代码与其代码隐藏代码之间没有通信。这是 html(客户端)中的值未更新的原因。现在解决方案是在客户端代码和服务器之间进行通信

1) 带有计时器设置的 Jquery AJAX 调用。计时器只会在您打开子弹出窗口后启动。现在来自服务器的值可以到达客户端并由 jquery DOM 更改更新

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

于 2013-06-26T11:33:26.580 回答