在asp.net项目中的新选项卡中打开外部链接

时间:2015-09-06 19:26:40

标签: javascript c# html asp.net

我打算在同一窗口的"新标签中打开外部链接(" www.google.com")。从我的asp.net项目中单击按钮。有没有办法做到这一点。 (链接来自数据库,看起来我不能在标记方面这样做。)

目前我试过,response.redirect& window.open但似乎都不起作用。

Response.Redirect
 protected void btnSubmit_Click(object sender, EventArgs e)
        {
           Response.Redirect("www.google.com");
        }

Window.Open

 protected void btnSubmit_Click(object sender, EventArgs e)
      {   
string x = "www.google.com";

       string s = "window.open('" + x + "', 'popup_window', 'width=300,height=100,left=100,top=100,resizable=yes');";

        ClientScript.RegisterStartupScript(this.GetType(), "script", s, true);
  }

我在两种情况下得到的错误是:找不到404页面。

enter image description here

5 个答案:

答案 0 :(得分:1)

你可以做的是在响应中发送一大块html,该响应与你的url有一个链接作为href,target =" _blank"以及伪造点击的表格的一大堆javascript onload。如果这不起作用,那么请使用window.open(" www.google.com");

response.write("<script>");
response.write("window.open('www.google.com','_blank')");
response.write("</script>"); 

完整说明here

答案 1 :(得分:0)

请注意所请求的网址:

http://localhost/www.google.com

如果您要将用户定向到其他网站,则必须完全限定网址:

Response.Redirect("http://www.google.com");

或:

string x = "http://www.google.com";

否则,浏览器认为它正在当前网站上寻找名为“www.google.com”的资源。

答案 2 :(得分:0)

您必须指定完整的网址,因此请使用

 Response.Redirect("Http://www.google.com");

古德勒克。

答案 3 :(得分:0)

尝试:

 protected void btnSubmit_Click(object sender, EventArgs e)
    {
        string x = "https://www.google.com";

        string s = "window.open('" + x + "', 'popup_window', 'width=300,height=100,left=100,top=100,resizable=yes');";

        ClientScript.RegisterStartupScript(this.GetType(), "script", s, true);
    }

编辑2:

根据This,您无法以这种方式在新窗口中打开它。

如果您真的想在新窗口中使用,请使用HTML Links target="_blank"属性。

答案 4 :(得分:0)

网址www.google.com被解释为本地路径,请尝试

http://www.google.com

代替。

使用_new作为窗口名称将打开一个新窗口或选项卡:

window.open("...", "_new")