2015-01-09 296 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

相關問題