Thanks for posting inthis group. I think maybe you bind the database data into your datagrid every time in WebForm load event. Because when you click the button, the page postback to the server, Page_Load event fires, the datagrid will be rebind again. So the ItemCommand will not fire(the datagrid was reinitialized). (You can demonstrate this through add a breakpoint in ItemCommand eventhandler) So you should bind the datagrid only when the page is not postback. Code snippet like this: //I use default sqlserver database to fill the datagrid privatevoid Page_Load(object sender, System.EventArgs e) { // Put user code to initialize the page here //Response.Write(Session[0]); Response.Write(this.GetPostBackEventReference(hoho)); if(!IsPostBack) { SqlDataAdapter adapter=new SqlDataAdapter("select * from jobs","server=localhost;database=pubs;uid=sa;pwd="); DataSet ds=new DataSet(); adapter.Fill(ds); DataGrid1.DataSource=ds; DataGrid1.DataBind(); } } this.DataGrid1.ItemCommand +=new System.Web.UI.WebControls.DataGridCommandEventHandler(this.DataGrid1_ItemCom mand); privatevoid DataGrid1_ItemCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e) { if(e.CommandName=="buttonclick") { Response.Write(e.Item.Cells[3].Text); } } Best regards, Jeffrey Tan Microsoft Online Partner Support Get Secure!- www.microsoft.com/security This posting is provided "as is" with no warranties and confers no rights