ASP.NET打开新窗口方法一:
Response.Write(" <script language=\"javascript\">window.open('aaa.aspx','新窗口,\"toolbar=yes,location=no,directories=yes,status=yes,menubar=yes,resizable=yes,scrollbars=yes\"); </script>");
这种方式代码每次是生成在页面最顶端
ASP.NET打开新窗口方法二:
string strScript = ""; strScript += "<script language=\"javascript\">\n"; strScript += "window.open('aaa.aspx','新窗口,\"toolbar=yes,location=no,directories=yes,status=yes,menubar=yes,resizable=yes,scrollbars=yes\");\n"; strScript += "location.href='index.html';"; strScript += "</script>"; bool b = ((Page)System.Web.HttpContext.Current.Handler).IsStartupScriptRegistered("PopUp"); if (!b) { ((Page)System.Web.HttpContext.Current.Handler).RegisterStartupScript("PopUp",strScript); }
这种方式是在页面中生成JAVASCRIPT代码
注意:如果输出JAVSSCRIPT语句后,页面又用Response.Redirect跳转到其他页,JAVASCRIPT将不会出现.
实现弹出窗口和跳转同时必须都在JAVASCRIPT语句里,
这是我测试的,不知道大家有没有什么不同的意见??
1.Response.Redirect("XXX.aspx",true)——直接转向新的页面,原窗口被代替;
2. Response.Write("<script>window.open(XXX.aspx','_blank')</script>")——原窗口保留,另外新增一个新页面;
3.Response.Write("<script>window.location=XXX.aspx'</script>")——打开新的页面,原窗口被代替;
4.Server.Transfer("XXX.aspx")——打开新的页面;
5.Response.Write("<script>window.showModelessDialog(XXX.aspx')</script>")——原窗口保留,以对话框形式打开新窗口;
6.Response.Write("<script>window.showModalDialog(XXX.aspx')</script>")——对话框形式打开新窗口,原窗口被代替;
7.Response.Write("<script>window.open('Default2.aspx','','height=300,width=400,toolbar=no,menubar=no,scrollbars=no,resizable=no,location=no,status=no');</script>")——指定大小打开新窗口,原窗口被保留;