【问题标题】:How to open a new tab in asp.net [duplicate]如何在asp.net中打开一个新标签[重复]
【发布时间】:2014-07-11 16:35:50
【问题描述】:

我需要在新选项卡中打开一个 aspx 页面,我搜索了不同的解决方案,但我只找到了打开弹出窗口和浏览器块的代码。我需要在后面的代码中做到这一点

希望有人帮助我,谢谢。

【问题讨论】:

  • 您发布的链接是关于超链接的,我需要它在后面的代码中
  • 如果可以的话,我会将我的近距离投票从“重复”更改为“'为什么它不起作用'问题需要代码”。你需要展示你到目前为止所做的事情。向我们展示给您带来问题的代码。

标签: c# asp.net tabs


【解决方案1】:

您无法从后面的代码打开新页面。相反,您需要在客户端打开。

protected void Button1_Click(object sender, EventArgs e)
{
    string url = "http://www.stackoverflow.com";
    string script = string.Format("window.open('{0}');", url);

    Page.ClientScript.RegisterStartupScript(this.GetType(), 
        "newPage" + UniqueID, script, true);

    /* Use this if post back is via Ajax
    ScriptManager.RegisterStartupScript(Page, Page.GetType(), 
        "newPage" + UniqueID, script, true); */
}

在客户端打开的问题是有时弹出窗口阻止页面。

【讨论】:

    【解决方案2】:

    简短的回答是:你不能。

    您尤其不能从服务器执行此操作 - 在那里,您对浏览器功能的访问权限为零。

    在客户端,您几乎无法直接访问自己“窗口”之外的浏览器功能。

    您能做的最好的事情就是打开一个目标窗口名称为_blank 的新窗口。您可以使用 HTML 来做到这一点,因此:

    <a href="http://some-url" target="_blank" >Link Text</a>
    

    当用户点击链接时,应该会打开一个新窗口(但是,请参见下文)。

    你可以用 javascript 来做,因此:

    window.open( "http://some-url", "_blank", "comma,delimited,list,of,window,features" ) ;
    

    接下来会发生什么完全取决于浏览器以及用户如何配置它:

    • 它可能根本打不开(弹出窗口阻止程序正在运行吗?),
    • 它可能会打开一个新标签,
    • 可能会打开一个新窗口

    人们可能还会注意到,没有窗口名称的直接链接也可能在新选项卡或窗口中打开。例如,我将 Firefox 配置为默认在新选项卡中打开域外链接,并在新选项卡而不是新窗口中打开所有 target='_blank' 链接。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-08-17
      • 1970-01-01
      • 2013-04-11
      • 1970-01-01
      • 1970-01-01
      • 2018-11-05
      • 1970-01-01
      相关资源
      最近更新 更多