好郁闷,datagrid老是取不到值,不知为什么 tb = (TextBox)e.Item.Cells[1].FindControls...试试 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 如果是模板列就要用(TextBox)e.Item.FindControl("控件的名称,比如说TextBox1") TextBox tb = (TextBox)e.Item.FindControl("textBoxId"); TextBox tb = new TextBox(); tb = (TextBox)e.Item.Cells[1].Controls[0];-------------------------------->TextBox tb = (TextBox)e.Item.Cells[1].Controls[0]; TextBox tb = new TextBox(); tb = (TextBox)e.Item.Cells[1].Controls[0];-------------------------------->TextBox tb = (TextBox)e.Item.FindControl("textBoxId"); 异常详细信息: System.NullReferenceException: 未将对象引用设置到对象的实例。行 81: TextBox tb = new TextBox();行 81: tb = (TextBox)e.Item.Cells[1].FindControl("TextBox1");行 82: Lab.Text = tb.Text; //这一行出错还是有点搞不懂 上面都有人告诉你了呀?(TextBox)e.Item.FindControl,用Item,不要用Cells[],去定位,因为你用了模板列了,只能是通过行去找列,不能再定位到多少行,多少列了! public void Update_Onclick(object sender, DataGridCommandEventArgs e){ TextBox tb = new TextBox(); //TextBox1为你在Datagrid中定义TextBox的ID号 tb = (TextBox)e.Item.Cells[1].FindControl("TextBox1"); Lab.Text = tb.Text.ToString(); } 其实我试过很多种方法然后我做了个测试:TextBox tb = new TextBox();tb = (TextBox)e.Item.FindControl("TextBox1");if(!(tb == null)){ Lab.Text = "找到";}else{ Lab.Text = "没有找到";}运行的时候,它老是说找不到,不过将tb = (TextBox)e.Item.Cells[1].FindControl("TextBox1")改为tb = (TextBox)e.Item.Cells[1].Control[1];它就可以找到,不过信息老是为空,不知为什么 tb = (TextBox)e.Item.Cells[i].Controls[0]; i 应该>2 .因为按钮也算一列 。 难道vs08不允许? 关于VS2008的 AJAX的问题 如何让asp.net找到接口的xml配置文件 ASP.NET WEB应用程序的问题调试出错 请问如何获取到动态Table中CheckBoxList的值? 在aspx页面指定位置画直线(页面非空白,有文字),生成的结果是文字和直线 为什么数字在td中显示时会让表格变形 重发aspx页面的嵌套使用,求助!! 有关SQL语句 为什么在asp.net远程连接access时就出错 老是说send('')为无效的语法 急!!!SqlDat aReader得不到输出参数,请大家指教!
tb = (TextBox)e.Item.Cells[1].Controls[0];
-------------------------------->
TextBox tb = (TextBox)e.Item.Cells[1].Controls[0];
tb = (TextBox)e.Item.Cells[1].Controls[0];
-------------------------------->
TextBox tb = (TextBox)e.Item.FindControl("textBoxId");
行 81: tb = (TextBox)e.Item.Cells[1].FindControl("TextBox1");
行 82: Lab.Text = tb.Text; //这一行出错还是有点搞不懂
{
TextBox tb = new TextBox();
//TextBox1为你在Datagrid中定义TextBox的ID号
tb = (TextBox)e.Item.Cells[1].FindControl("TextBox1");
Lab.Text = tb.Text.ToString();
}
然后我做了个测试:
TextBox tb = new TextBox();
tb = (TextBox)e.Item.FindControl("TextBox1");
if(!(tb == null))
{
Lab.Text = "找到";
}
else
{
Lab.Text = "没有找到";
}运行的时候,它老是说找不到,不过将
tb = (TextBox)e.Item.Cells[1].FindControl("TextBox1")改为
tb = (TextBox)e.Item.Cells[1].Control[1];
它就可以找到,不过信息老是为空,不知为什么