新建一个 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的弹出窗口实现数据传递。
|