Asp.net页面之间通过脚本传递数据(转)

Posted on 2005-08-29 11:37  爱克软件  阅读(420)  评论(3)    收藏  举报
新建一个 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的弹出窗口实现数据传递。

博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3