如何在新的浏览器中打开一个ASP.NET网页?






2.13/5 (17投票s)
在新 Web 浏览器窗口中打开网页。
引言
许多初级Web开发者想知道如何在一个新的Web浏览器中打开一个新的网页并设置一些选项。
在这篇文章中,我将讨论两种在新的Web浏览器中打开新网页的方法。第一种方法是使用HyperLink控件,另一种是使用JavaScript。
使用HyperLink控件
这是一种简单的方法;你只需要将“Target”属性的值设置为“_blank”,如下所示
使用JavaScript
本节将分为两个小节;它们在某种程度上相同,但存在细微差别。小节将分别针对客户端控件和服务器端控件。
对于两者,我们将使用相同的JavaScript方法“window.open()”。我们将首先解释此方法的参数,然后了解如何使用它。语法如下所示
window.open( [sURL] [, sName] [, sFeatures] [, bReplace])
- URL:可选。在新窗口中打开的页面的URL。此参数可以为空。
- Name:可选。赋予新窗口的名称。该名称可用于再次引用此窗口。
- Features:可选。包含以逗号分隔的项目列表。每个项目包含一个选项和一个值,用等号分隔(如状态栏、地址栏等)。
- Replace:可选。布尔值,指定sURL是否创建新的条目或替换窗口历史列表中的当前条目。此参数仅在sURL加载到同一窗口时才有效。
熟悉了该方法的参数后,我将列出您可以使用的一些功能
名称 | 值 | 描述 |
fullscreen | {yes|no|1|0} | 指定是否以全屏模式显示浏览器。 |
height | number | 指定窗口的高度(以像素为单位)。 |
左侧 | number | 指定左侧位置(以像素为单位)。 |
顶部 | number | 指定顶部位置(以像素为单位)。 |
width | number | 指定窗口的宽度(以像素为单位)。 |
location | {yes|no|1|0} | 指定是否显示导航栏。 |
menubar | {yes|no|1|0} | 指定是否显示菜单栏。 |
resizable | {yes|no|1|0} | 允许/不允许用户调整窗口大小。 |
scrollbars | {yes|no|1|0} | 如果文档大于窗口,则启用滚动条。 |
状态 | {yes|no|1|0} | 指定是否在窗口底部添加状态栏。 |
titlebar | {yes|no|1|0} | 指定是否显示窗口的标题栏。 |
工具栏 | {yes|no|1|0} | 指定是否显示浏览器命令栏,使收藏夹中心、添加到收藏夹和工具等按钮可用。 |
首先,我将讨论在客户端使用window.open()方法。您需要做的就是在客户端控件的函数中编写这一行代码
function Button2_onclick() { window.open('Default2.aspx','PoP_Up','width=500,height=500,menubar=yes,toolbar=yes,resizable=yes,fullscreen=1'); }
此代码行将在具有函数参数中设置的功能的新浏览器中打开“Default2.aspx”网页。
其次,我将讨论使用相同的方法,但在代码隐藏中,这意味着在服务器端。让我们检查此代码块并解释将会发生什么
protected void Button1_Click(object sender, EventArgs e) { //Part 1 the same code as before System.Text.StringBuilder sb = new System.Text.StringBuilder(); sb.Append(>script language='javascript'>"); sb.Append("window.open('Default2.aspx', 'CustomPopUp',"); sb.Append("'top=0, left=0, width=500, height=500, menubar=yes,toolbar=yes,status=1,resizable=yes')); sb.Append("/script>"); //Part 2 Registering The ClientScriptBlock Type t = this.GetType(); if (!ClientScript.IsClientScriptBlockRegistered(t, PopupScript)) ClientScript.RegisterClientScriptBlock(t, PopupScript, sb.ToString());
在第1部分中,它与客户端小节中的代码相同。如果没有第2部分,“Default2.aspx”页面将不会打开,因为您尚未注册客户端脚本块。在代码中,您按名称(键)检查脚本块,如果不存在,则添加它,否则不会发生任何事情。
我遇到了一些我认为有用的东西。如果您想在新浏览器中以最大化模式打开,该怎么办?您可以使用“screen.availwidth”和“screen.availheight”属性分别设置window.open()方法功能的宽度和高度,如下所示
sb.Append('top=0, left=0, width='+screen.availwidth+', height='+screen.availheight+', menubar=yes,toolbar=yes,status=1,resizable=yes'));
我希望本文对那些想知道如何在新的浏览器窗口中打开新网页的人有所帮助,并且我强烈建议那些有其他评论或技巧的人说出来,对于那些有进一步疑问的人,请随时提出。留下帖子,我们会尽快回复您!