小弟做查询生成统计报表,因为使用了框架,所以需要弹出一个新窗口作为报表。采用的方法原理如下:
点击test1.aspx的Button1,弹出test2.aspx页面,并读取test1.aspx页面中控件tbx_uname,ddl_organ的值传给test2.aspx。
test1.aspx
private void btn_rp_Click(object sender, System.EventArgs e)
{
string uname="",uorganid="";
if(tbx_uname.Text.Trim()!="")
uname=tbx_uname.Text.Trim();
if(ddl_organ.SelectedItem.Value!="")
uorganid=ddl_organ.SelectedItem.Value;
string str="";
str="<script language='javascript'>";
str+="window.open(";
str+="\"" +"user_report.aspx?username="+uname;
str+="&userorganid="+uorganid;
str+="\",'',' width =792 , height = 400 ,toolbar=yes, menubar=yes,resizable=yes, location=center,scrollbars = yes,location=yes, status=yes')";
str+="}";
str+="</script>";
Response.Write(str); test2.aspx
string uname,uorganid;
uname=Page.Request["username"];
uorganid=Page.Request["userorganid"];功能是实现了,但是如果用ie浏览器的前进或者后退按钮经过这个页面的时候,都会自动按照最近一次的条件自动再弹出一次窗口,而我是将这些都写在button的click事件中的啊?这个问题该如何解决?大家还有什么比较好的方法,来弹出新窗口并将原页面控件的值传到新页面?
点击test1.aspx的Button1,弹出test2.aspx页面,并读取test1.aspx页面中控件tbx_uname,ddl_organ的值传给test2.aspx。
test1.aspx
private void btn_rp_Click(object sender, System.EventArgs e)
{
string uname="",uorganid="";
if(tbx_uname.Text.Trim()!="")
uname=tbx_uname.Text.Trim();
if(ddl_organ.SelectedItem.Value!="")
uorganid=ddl_organ.SelectedItem.Value;
string str="";
str="<script language='javascript'>";
str+="window.open(";
str+="\"" +"user_report.aspx?username="+uname;
str+="&userorganid="+uorganid;
str+="\",'',' width =792 , height = 400 ,toolbar=yes, menubar=yes,resizable=yes, location=center,scrollbars = yes,location=yes, status=yes')";
str+="}";
str+="</script>";
Response.Write(str); test2.aspx
string uname,uorganid;
uname=Page.Request["username"];
uorganid=Page.Request["userorganid"];功能是实现了,但是如果用ie浏览器的前进或者后退按钮经过这个页面的时候,都会自动按照最近一次的条件自动再弹出一次窗口,而我是将这些都写在button的click事件中的啊?这个问题该如何解决?大家还有什么比较好的方法,来弹出新窗口并将原页面控件的值传到新页面?
譬如说。设置通过了。SESSION的某个值为TURE。不然为FALSE。在PAGE_LOAD里判断罗
在后台代码中这样写
this.Button1.Attributes.Add("onclick","window.open('xxx.aspx','','');return(false);");
这样,点击按钮即弹出页面,后退到该页面也不会再响应一次了.
Response.CacheControl = "no-cache"加在PAGE_LOAD里