如何在不刷新整个页面的情况下刷新父ASPX控件值?

时间:2013-06-26 11:01:25

标签: asp.net .net-2.0 asp.net-2.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);

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

在子表单更改值后,如何让父表单的控件显示其新值?

两项要求:

  1. 请注意,我希望更新父表单的控件值 孩子的形式仍然是开放的..也就是说,我不想等待 要关闭的子表单,以便触发此更新..
  2. 我也不希望整个父表单刷新,因为那样 导致所有控件的值重置..
  3. 我的框架是.NET 2.0 ...

1 个答案:

答案 0 :(得分:0)

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

1)Jquery AJAX调用定时器设置。只有在打开子弹出窗口后才会启动计时器。现在,服务器的值可以到达客户端并通过jquery DOM更改进行更新

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