日期:2009-11-02  浏览次数:20460 次

新建一个 WebForm1.ASPx页面,添加一个TextBox和一个Button控件,在页面的Page_Load里写下注册客户端脚本的语句:

private void Page_Load(object sender, System.EventArgs e)


  {
   // 在此处放置用户代码以初始化页面
   if(!Page.IsClientScriptBlockRegistered("clientScript"))
   {
    StringBuilder sbScript = new StringBuilder();
                sbScript.Append("<script>\n");
    sbScript.Append("function OpenWin(){\n");
    sbScript.Append("var str=window.showModalDialog('WebForm2.ASPx',document.Form1.txtWndName.value)\n");
    sbScript.Append("if(str!=null) document.Form1.txtWndName.value=str\n");
    sbScript.Append("}\n</script>\n");
    string script = sbScript.ToString();
    RegisterClientScriptBlock("clientScript",script);
   }
   this.btnOpen.Attributes.Add("OnClick","OpenWin()");
  }

新建一个WebForm2.ASPx页面,放入两个框架:

<frameset rows="0,*">

     <frame src="../../about:blank"

    <frame src="WebForm3.ASPx">

</frameset>

新建一个WebForm3.ASPx页面,在Page_Load里写下一下注册脚本的语句:

private void Page_Load(object sender, System.EventArgs e)
  {
   // 在此处放置用户代码以初始化页面
   if(Page.IsPostBack)
   {
    StringBuilder sbScript = new StringBuilder();
    sbScript.Append("<script>\n");
    sbScript.Append("window.parent.returnValue='" + this.TextBox1.Text + "'\n");
    sbScript.Append("window.parent.close()\n");
    sbScript.Append("</script>\n");

    string script = sbScript.ToString();

    if(!Page.IsClientScriptBlockRegistered("clientScript"))
    {
     RegisterClientScriptBlock("clientScript",script);
    }
   }
  }

通过JavaScript的弹出窗口实现数据传递。