2016-09-22 80 views
0

您好我想知道如何從已被點擊的gridview中的超鏈接中獲取文本字段和索引。基本上,用戶將點擊gridview中的超鏈接,並且當用戶被導航到鏈接時,鏈接的文本字段和索引將被存儲到數組列表中。有沒有人有任何想法我可以去做這個?檢查gridview中的超鏈接是否已被點擊c#

我已經想出了在GridView的這個「僞代碼」爲onrowdatabound事件處理程序:

ArrayList linksClicked = new ArrayList(); 

if (e.Row.RowType == DataControlRowType.DataRow) 
     { 
      HyperLink hl = (HyperLink)e.Row.FindControl("links"); 
      if (hl != null) 
      { 
       linksClicked.Add(h1.ToString()); 
      } 
     } 

回答

0

你應該使用ItemTemplateLinkButton。在這個按鈕中,你可以保持索引或編號像CommandArgument,也很容易捕獲事件onClick並添加索引到您的陣列。使用此示例。

<asp:TemplateField> 
     <ItemTemplate> 
      <asp:LinkButton ID="hyperLinkButton" Text="link" PostBackUrl="youruri.com" runat="server" 
      CommandArgument="<%# Eval("SomeFieldYouNeedArguementFrom") %>" OnClick="hyperLinkButton_Click" > 
      </asp:LinkButton> 
     </ItemTemplate> 
    </asp:TemplateField> 


protected void hyperLinkButton_Click(object sender, EventArgs e) 
{ 
    LinkButton btn = (LinkButton)(sender); 
    string yourValue = btn.CommandArgument; 
    // do what you need here 
} 
+0

哦,我看,謝謝!順便說一下,如果我想在超鏈接按鈕的新選項卡中打開鏈接。我想在這裏實現的是:用戶必須單擊並查看gridview中的每個鏈接。點擊每個鏈接後,鏈接將在新標籤頁中打開,點擊鏈接將添加到列表框中。用戶必須完成打開所有鏈接才能完成下一個任務。 – Nick