Asp.net页面之间通过脚本传递数据
Asp.net页面之间通过脚本传递数据 新建一个 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的弹出窗口实现数据传递。