private void DataGrid1_UpdateCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
string empID=this.DataGrid1.DataKeys[e.Item.ItemIndex].ToString();
string lastName=((TextBox)(e.Item.Cells[2].Controls[0])).Text;
string FirstName=((TextBox)(e.Item.Cells[3].Controls[0])).Text;
string Title=((TextBox)(e.Item.Cells[4].Controls[0])).Text;
跟踪lastName , FirstName, Title修改后值取不到,这是什么问题啊,谢谢
{
string empID=this.DataGrid1.DataKeys[e.Item.ItemIndex].ToString();
string lastName=((TextBox)(e.Item.Cells[2].Controls[0])).Text;
string FirstName=((TextBox)(e.Item.Cells[3].Controls[0])).Text;
string Title=((TextBox)(e.Item.Cells[4].Controls[0])).Text;
跟踪lastName , FirstName, Title修改后值取不到,这是什么问题啊,谢谢
如下那样取试试:
private void DataGrid1_UpdateCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
TextBox tb = new TextBox();
tb = (TextBox)e.Item.FindControl("对应的控件ID");
string lastName= tb.Text;...
}
2.你确信每行里面只有一个控件而且此控件即为你要取的控件?你可尝试使用
((TextBox)(e.Item.Cells[4].FindControl("你控件ID"))).Text
的方式来取值.
3.你的datagrid里面各列的控件是以什么模式添加进去的?是自动生成,或是模板列,或是在后台生成?如果是最后者,要注意,在每次页面提交之时,必须重新再生成一次,否则无法保持状态.
{
string empID=this.DataGrid1.DataKeys[e.Item.ItemIndex].ToString();
string lastName=((TextBox)e.Item.Cells[2].Controls[0]).Text;
string FirstName=((TextBox)e.Item.Cells[3].Controls[0]).Text;
string Title=((TextBox)e.Item.Cells[4].Controls[0]).Text;这样试下呢,就是去了一对括号。我这样做的话能取到值的