2015-01-09 250 views
0

我需要在新窗口中打开链接按钮中的链接。我有下面的代码,但它会引发JavaScript错误。请帮助在新窗口中打开链接

ASPX代码:背后

protected void Link_Click(object sender, EventArgs e) 
{ 
    ScriptManager.RegisterStartupScript(this, typeof(string), "OPEN_WINDOW", 
         "window.open(" + Link.Text + " ,'new_tab');", true); 
} 
+0

和错误是...? – tnw 2015-01-09 18:19:28

+0

在''+ Link.Text +“'周围放置单引号,并使用onClientClick =”“而不是onClick – Tyr 2015-01-09 18:20:13

回答

0

这为我工作

Uri uri = new Uri(LinkButton.Text); 
ScriptManager.RegisterStartupScript(this, Page.GetType(), "", "window.open('" + uri.OriginalString + "');", true); 
1

试试这个

ScriptManager.RegisterStartupScript(this, this.GetType(), Guid.NewGuid().ToString(), 
"window.open('" + Link.Text + "' ,'new_tab');", true); 

编辑

ScriptManager.RegisterStartupScript(this, this.GetType(), Guid.NewGuid().ToString(), 
@"window.open('https://www.google.co.in/' ,'new_tab');", true); 

,使其成为

ScriptManager.RegisterStartupScript(this, this.GetType(), Guid.NewGuid().ToString(), 
"window.open('https://" + Link.Text + "' ,'new_tab');", true); 
+0

我试过这个,它打开一个新窗口,试图打开说www.abc.com前缀为http://localhost/myproject/www.abc.com。请让我知道如何解决该问题 – Namekal 2015-01-09 19:27:21

+0

Link.Text有“www.abc.com”,但是当链接打开时,它会尝试打开我的应用程序名称加上link.text – Namekal 2015-01-09 19:56:26

3

更好的在场景中使用Hypelink,它有目标的选择要做到这一点: -

<asp:HyperLink ID="Link" runat="server" CssClass="ReadOnlyLabel" 
        CausesValidationn="false" Target="_blank">Click Here</asp:HyperLink> 

只需设置NavigateUrl属性设置窗口的URL,并设置Target财产_blank

+0

我无法使用超链接,因为会有不同的URL对于那个链接 – Namekal 2015-01-09 19:28:31

+2

@Namekal,为什么不把你的代码中的url设置在后面? – paqogomez 2015-01-09 20:36:28

相关问题