ASP.NET打开新窗口技术详解
ASP.NET提供了多种方法来在网页中打开新的窗口。这些方法涵盖了服务器端代码和客户端脚本的使用。 1. 服务器端响应写入JavaScript 在ASP.NET中,可以通过`Response.Write`方法结合JavaScript来实现新窗口的打开。例如: ```csharp Response.Write("<script language=\"javascript\">window.open('aaa.aspx','_blank','toolbar=yes,location=no,directories=yes,status=yes,menubar=yes,resizable=yes,scrollbars=yes');</script>"); ``` 这段代码会在客户端浏览器上执行JavaScript的`window.open`函数,打开一个名为`aaa.aspx`的新页面,并设置其窗口属性。 2. 注册启动脚本 如果希望确保脚本在页面加载时正确执行,可以使用`RegisterStartupScript`方法注册一个脚本,如下所示: ```csharp string strScript = ""; strScript += "<script language=\"javascript\">\n"; strScript += "window.open('aaa.aspx','_blank','toolbar=yes,location=no,directories=yes,status=yes,menubar=yes,resizable=yes,scrollbars=yes');\n"; strScript += "location.href='index.html';\n"; strScript += "</script>"; bool b = ((Page)System.Web.HttpContext.Current.Handler).IsStartupScriptRegistered("PopUp"); if (!b) { ((Page)System.Web.HttpContext.Current.Handler).RegisterStartupScript("PopUp", strScript); } ``` 这将确保脚本在页面生命周期的适当阶段执行,比如在页面加载完成之后。 3. 使用`Response.Redirect` `Response.Redirect`方法常用于重定向当前页面到另一个URL,但需要注意,它会发送一个HTTP响应头到客户端浏览器,指示浏览器进行跳转。因此,它不会在新窗口中打开页面,而是替换当前窗口的内容。例如: ```csharp Response.Redirect("XXX.aspx", true); // 第二个参数设为true,表示立即重定向 ``` 4. 利用JavaScript进行重定向 除了服务器端的`Response.Redirect`,还可以通过在页面中注入JavaScript来实现客户端的重定向,例如: ```csharp Response.Write("<script>window.location.href='XXX.aspx'</script>"); ``` 这会将当前页面重定向到`XXX.aspx`,与`Response.Redirect`不同的是,它不涉及服务器的再次处理。 5. 服务器端`Server.Transfer` `Server.Transfer`方法则用于在服务器端内部转移控制权到另一个页面,用户感觉不到页面刷新,但是它不会在新窗口中打开页面。例如: ```csharp Server.Transfer("XXX.aspx"); ``` 6. HTML超链接结合目标属性 另一种常见方式是在HTML中创建一个带有`target="_blank"`属性的链接,这样点击链接时将在新窗口或新标签页中打开页面: ```html <a href="XXX.aspx" target="_blank">点击打开新窗口</a> ``` 7. JavaScript事件处理程序 还可以通过绑定JavaScript事件处理程序(如按钮的`onclick`事件)来打开新窗口,这提供了更灵活的控制,比如: ```html <button onclick="window.open('XXX.aspx', '_blank')">点击打开新窗口</button> ``` 选择哪种方法取决于具体需求,如是否需要服务器端的进一步处理、是否要在新窗口打开、是否需要立即执行重定向等。了解并熟练运用这些方法,能够帮助开发者在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语句里,
这是我测试的,不知道大家有没有什么不同的意见??
asp.net中打开新窗口的多种方法
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>")――打开新的页面,原窗口被代替;
下载后可阅读完整内容,剩余2页未读,立即下载
- 粉丝: 3
- 资源: 6
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- Ansys Comsol实现力磁耦合仿真及其在电磁无损检测中的应用
- 西门子数控系统调试与配置实战案例教程
- ELM多输出拟合预测模型:简易Matlab实现指南
- 一维光子晶体的Comsol能带拓扑分析研究
- Borland-5技术资料压缩包分享
- Borland 6 技术资料分享包
- UE5压缩包处理技巧与D文件介绍
- 机器学习笔记:深入探讨中心极限定理
- ProE使用技巧及文件管理方法分享
- 增量式百度图片爬虫程序修复版发布
- Emlog屏蔽用户IP黑名单插件:自定义跳转与评论限制
- 安装Prometheus 2.2.1所需镜像及配置指南
- WinRARChan主题包:个性化你的压缩软件
- Neo4j关系数据映射转换测试样例集
- 安装heapster-grafana-amd64-v5-0-4所需镜像介绍
- DVB-C语言深度解析TS流