2017-05-09 74 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

相關問題