GridView中的RowCommand事件中的取值问题

先看前台代码

 
            
 
                    
                        
                    
                    
                        
                    
                

                 
                                    
                                        
                                    
                                    
                                        
                                        
                                    
                                
                  

        

  要在 GridView1_RowCommand 方法中取TextBox9的值,无法直接取。

这个时候要用下面的办法

 

 protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
    {
        string workid = e.CommandArgument.ToString();
        string name = e.CommandName.ToString();
        string strUpdate = "";
        string strRemark = "";
        string strEffective = "";

        GridViewRow row = ((Control)e.CommandSource).BindingContainer as GridViewRow;
        //取有效时间
        TextBox txtEffectiveTime = (TextBox)row.FindControl("TextBox9");
        strEffective = (string.IsNullOrEmpty(txtEffectiveTime.Text) != true) ? txtEffectiveTime.Text.Trim() : "";
        //取审备注
        TextBox txtNotion = (TextBox)row.FindControl("TextBox12");
        strRemark = (string.IsNullOrEmpty(txtNotion.Text) != true) ? txtNotion.Text.Trim() : "";
}

  最有效的就是这段

GridViewRow row = ((Control)e.CommandSource).BindingContainer as GridViewRow;

//如果要去id为TextBox9的值

TextBox txtEffectiveTime = (TextBox)row.FindControl("TextBox9");

 

参考文章:http://www.cnblogs.com/cnaspnet/archive/2007/03/09/669410.html

你可能感兴趣的:(C#)