2016-09-22 89 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