弹出新窗口,填写数据,提交后,关闭该弹出窗口,刷新父页面

本文介绍如何在ASP.NET 2.0中实现一个功能:当用户在弹出窗口中填写数据并提交后,关闭弹窗,并将数据更新到父页面的特定TextBox中。通过在父窗口的JavaScript函数中利用window.open和window.close方法,以及在子窗口中调用opener对象的方法来实现数据传递和页面刷新。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

父窗口弹出子窗口的 button处理事件:
private void Button1_Click(object sender, System.EventArgs e)
  {
   Response.Write("<script language=javascript>window.open('WebForm1.aspx','', 'alwaysRaised=1,dependent=1,resizable=0,scrollbars,width=450,height=550');</script>");
  }
父窗口html代码添加如下javascript代码
<script language="javascript">
function refresh()
{
this.location = this.location;
}
</script>
子窗口关闭窗口的 button处理事件:
private void Button1_Click(object sender, System.EventArgs e)
{
StringBuilder scriptString = new StringBuilder();
scriptString.Append("<script language = javascript>");
scriptString.Append("window.opener.refresh();");

scriptString.Append( " window.focus();" );
scriptString.Append( " window.opener=null;" );
scriptString.Append( " window.close(); " );

scriptString.Append("</"+"script>");
Response.Write(scriptString.ToString());

// Response.Write("<script language=javascript>window.close()</script>");
}

 

 

 

现在用asp.net2.0,要实现一个功能:a页面点击一个按钮,弹出一个窗口,选择数据,然后数据返回到a页面的某个textbox里面。
以前我用
if(!IsClientScriptBlockRegistered("clientScript2"))
  {
  string strScript2= "<script>function OpenWin2(){var str=window.showModalDialog('user.aspx',document.Form1.sx.value,'dialogWidth:455px; dialogHeight:450px;');document.Form1.sx.value=str}</script>";
  RegisterClientScriptBlock("clientScript2", strScript2);
  }
  nw.Attributes.Add("onclick", "OpenWin()");
这样去做,不知道还有其他更好的方法吗?

用window.open也可以,在弹出窗口中调用父窗口的js函数,实现传值:opener.someFunction("someValue");

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值