2017-05-09 45 views
0

我有一个名为gvappts的gridview。 这个网格每周有七个列。 网格也有多行,每个单元格内有一个按钮。查找在Gridview ASP.Net中点击了哪个按钮c#

如果我正在使用onRowCommand事件有没有办法找到被点击的按钮的名称?

我开始了与此:

if (e.CommandName == "GetData") 
{ 
    //Get rowindex 
    int rowindex = Convert.ToInt32(e.CommandArgument); 
    //Get Row 
    GridViewRow gvr = gvappts.Rows[rowindex]; 
} 

不知道我会对此非常正确。

这是网页上gridview的一个片段,所有的列都使用TemplateFields。

<Columns> 
    <asp:TemplateField HeaderText="Day 1" HeaderStyle-CssClass= "hdr" ItemStyle-CssClass="Grid"> 
     <ItemTemplate> 
      <asp:LinkButton id="lbd1" runat="server" Text='<%#(Eval("Day1"))%>' CommandName="GetData" CommandArgument='<%# Container.DataItemIndex %>'/> 
     </ItemTemplate> 
    </asp:TemplateField> 
</Columns> 
+0

你可以发布GridView的标记吗? – jmag

+0

您可以将onclick事件添加到按钮本身,而不是使用指令。然后在你的onclick只需将你的发件人作为一个按钮来获取它的细节。 – ThatChris

+0

使用FindControl就像这样。LinkBut​​ton lbtn =(LinkBut​​ton)GridView1.FindControl(“btnLink”); OR 检查发件人。 LinkBut​​ton lb =(LinkBut​​ton)发件人; – jmag

回答

3

您可以使用CommandSource并将其转换回LinkBut​​ton。

protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e) 
{ 
    LinkButton lb = e.CommandSource as LinkButton; 
    string value = lb.CommandArgument; 
} 
+0

要添加一件事情,如果你想找到点击按钮的ID,你可以这样做----- string value = lb.ID; – Tommy

相关问题