【问题标题】:How to open asp:HyperLink.NavigationUrl in a new tab如何在新选项卡中打开 asp:HyperLink.NavigateUrl
【发布时间】:2010-11-14 13:45:18
【问题描述】:

有没有办法在新标签页中打开一个 asp:HyperLink.NavigateUrl 并且不改变当前的位置?

【问题讨论】:

    标签: asp.net hyperlink


    【解决方案1】:

    实际使用<asp:HyperLink Target="_blank" />,具体取决于可能打开新窗口的用户设置。

    这适用于 FF 和 Chrome 中的新标签,似乎不适用于 IE (8),但这可能取决于文档类型。

    【讨论】:

    • 这也适用于gridview。示例
    【解决方案2】:
    <asp:HyperLink ID="HyperLink1" 
         runat="server" 
         NavigateUrl="http://yoursite.com" 
         Target="_blank">
           This will work.
    </asp:HyperLink>
    

    【讨论】:

    • 缺少结束标记。
    【解决方案3】:
    <asp:HyperLink ID="lnkCompUrl" runat="server"  Width="200px"></asp:HyperLink></li>
    
    
    lnkCompUrl.Text = Convert.ToString(dsData.Tables[0].Rows[0]["comp_url"]);
    string url="http://"+Convert.ToString(dsData.Tables[0].Rows[0]["comp_url"]);
    
    lnkCompUrl.NavigateUrl = String.Format("javascript:void(window.open('"+url+"','_blank'));");
    

    【讨论】:

      【解决方案4】:
      protected void grdvEmployeeDetails_RowDataBound(object sender, GridViewRowEventArgs e)
      
      {
      
          if (e.Row.RowType == DataControlRowType.DataRow)
          {
              var firstCell = e.Row.Cells[0];            
              firstCell.Controls.Clear();           
              firstCell.Controls.Add(new HyperLink { NavigateUrl = String.Format("javascript:void(window.open('" + "EmployeeDetails.aspx?EmpId=" + firstCell.Text + "','_blank'));"), Text = firstCell.Text });
      
          }
      }
      

      【讨论】:

        【解决方案5】:

        为我工作:

        [asp:HyperLink runat="server" ID="..." Target="_blank" Text=".......".../]
        

        【讨论】:

          猜你喜欢
          • 2014-01-10
          • 2012-04-25
          • 2017-09-28
          • 2013-04-03
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多