2017-05-09 10 views
0

gvapptsという名前のグリッドビューがあります。 このグリッドには、曜日ごとに7つの列があります。 グリッドにも複数の行があり、各セルにはボタンがあります。Gridview ASP.Netの中でどのボタンがクリックされたのかを調べるC#

私はonRowCommandイベントを使用している場合、クリックされたボタンの名前を見つける方法はありますか?

私はこれで始まった:

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

ない全く正しい、私はこれについてつもりですか確認します。

ここでは、Webページのgridviewのスニペットです。すべての列でTemplateFieldが使用されています。

<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をthis.LinkBut​​tonのように使用します。lbtn =(LinkBut​​ton)GridView1.FindControl( "btnLink");または 送信者を確認します。 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

関連する問題