2009-12-05 82 views
2

我需要如何使LinkBut​​ton控件在GridView中打開一個新的IE窗口

<asp:TemplateField HeaderText ="ename"> 
     <ItemTemplate > <asp:Label ID="lbl2" Text ='<%#Eval("ID") %>' runat ="server" > 
     </asp:Label> 
     </ItemTemplate> 
     <EditItemTemplate > 
     <asp:TextBox ID ="textbox1" Text='<%#Eval("name")%>' runat ="server" ></asp:TextBox> 
<asp:LinkButton ID ="link1" Text='<%#Eval("name")%>' runat ="server" ></asp:LinkButton> 


     </EditItemTemplate> 
     </asp:TemplateField> 

我有編輯的文本和鏈接按鈕的ItemTemplate 根據條件()

如果(文本= '<%#的eval( 「ID」)%>')

ID = 1個顯示文本框[編輯項目temalpate]

ID = 2抄瓦特鏈接按鈕在鏈接按鈕[編輯項目temalpate]

ID = 3顯示鏈接按鈕[編輯項目temalpate]

現在我有值[Text='<%#Eval("name")%>'](例如:www.stackoverflow.com,google.com) 所以一個用戶點擊鏈接按鈕打開一個新的瀏覽器窗口並顯示該網站顯示在鏈接按鈕clcik上打開一個新的瀏覽器窗口

回答

1

您可以綁定到LinkButtonOnClientClick事件。我會做這一切通過實施OnDataBinding事件對於控制:

如:

// In your .aspx 
<asp:LinkButton ID ="yourButton" runat="server" OnDataBinding="yourButton_DataBinding" /> 

//In your .cs 
protected void yourButton_DataBinding(object sender, System.EventArgs e) 
{ 
    LinkButton btn = (LinkButton)(sender); 
    btn.Text = Eval("name"); 
    btn.OnClientClick = string.Format("window.open('{0}', 'yourNewWindow'); return false;", Eval("name")); 
} 

如果你需要使用JavaScript的window.open作品如何檢查出此鏈接的詳細信息:

http://www.javascript-coder.com/window-popup/javascript-window-open.phtml

2

你可以使用一個HyperLink控制,而不是一個LinkBut​​ton?

例如

<asp:HyperLink id="hyperlink1" 
       NavigateUrl="<%#Eval('name')%>" 
       Text="<%#Eval('name')%>" 
       Target="_blank" 
       runat="server"/> 
+0

只是爲了澄清:由於指定了Target =「_ blank」,因此將在新窗口或選項卡中打開該網站。 –

+0

感謝回覆 當我使用上述方法。問題是IE中的URL是這樣打開的:www.loaclhost:9098/admin/www.asp.net – happysmile

+0

但www.asp.net是我的NavigateUrl =「<%#Eval('name')中的值%>「 但在新的IE窗口中,它正在打開這樣的 www.loaclhost:9098/admin/www.asp.net – happysmile

0
<asp:HyperLink id="hyperlink1" NavigateUrl="<%#Eval('name')%>" Text="<%#Eval('name')%>" Target="_blank" runat="server" /> 

NavigateUrl之前,我們需要將代碼的 「http」,如圖然後它炒菜鍋細

NavigateUrl =」 <%#的 「http://」 + Eval('name')%>'

0

can Add

OnClientClick =「aspnetForm.target ='_ blank';」

等點擊它會調用JavaScript函數的打開在新聞選項卡上的相應鏈接。

<asp:LinkButton id="lbnkVidTtile1" OnClientClick="aspnetForm.target ='_blank';" runat="Server" CssClass="bodytext" Text='<%# Eval("newvideotitle") %>' /> 
相關問題