转载: gridview中嵌套button控件获取值

protected   void  GridView1_RowCreated( object  sender, GridViewRowEventArgs e)
       {
          if  (e.Row.RowType == DataControlRowType.DataRow)
           {
              if  (e.Row.FindControl("Button1") !=  null )
               {
                 Button btn = (Button)e.Row.FindControl("Button1");
                 btn.Click +=  new  EventHandler(btn_Click);
             }
         }
     }
 
      private   void  btn_Click( object  sender, EventArgs e)
       {
         Button btn = (Button)sender;
         GridViewRow gvr = (GridViewRow)btn.Parent.Parent;
          string  pk = GridView1.DataKeys[gvr.RowIndex].Value.ToString();
 
          this .Label1.Text = pk; 

<asp:TemplateField>   
           <ItemTemplate>   
                   <asp:Button    ID="Button1"    runat="server"    CommandName="MyCommand"    Text="Button"    />   
           </ItemTemplate>   
   </asp:TemplateField>   
   ===============================================   
   protected    void    GridView1_RowCommand(object    sender,    GridViewCommandEventArgs    e)   
   {   
           if    (e.CommandName    ==    "MyCommand")   
           {   
                  Button button = (Button)e.CommandSource;
                  GridViewRow row = (GridViewRow)button.Parent.Parent;
                  string a = row.Cells[1].Text.ToString();// 获得第一个单元格的值    
                  string    b    =    this.GridView1.DataKeys[row.DataItemIndex].Values[0];// 获得 DataKeys 的值    
           }   
   }  

原文地址:https://www.cnblogs.com/xlhblogs/p/2319572.html