how did you bind the DataGrid?do it inside
if (!IsPostBack)
{
// DataGrid1.DataBind();
}>>>为什么用第二条语句就报错呢
most likely, you have other controls inside DataGrid1.Items[i].Cells[8], try
Response.Write("****" + DataGrid1.Items[i].Cells[8].Controls[0].GetType().Name + "***");
if (!IsPostBack)
{
// DataGrid1.DataBind();
}>>>为什么用第二条语句就报错呢
most likely, you have other controls inside DataGrid1.Items[i].Cells[8], try
Response.Write("****" + DataGrid1.Items[i].Cells[8].Controls[0].GetType().Name + "***");
解决方案 »
- 怎么样遍历命名空间下面的所有类?
- WinForm弹出类似“正在初始化。。。”的提示,父窗体不能修改内容
- DIV大小改变???
- 导出EXCEL问题,帮忙一下,谢谢!
- 请问,如何改这段代码成我所要的效果?
- .net中嵌套js代码显示时间,一分钟提交页面,怎样解决呀。(一晚没睡觉了,在线急等)
- 判断一个textbox内容是否int类型的问题
- 在DataGrid中用模板放了两个DropDownList,如何实现这两个DropDownList的互动??
- 菜级问题,各位指教了
- <---版主哥,专家哥,大侠们,救命啊!关于.net应用的部署--->
- 为什么panel已设了enable=false,panel里包含的linkbutton还可以点击?
- 在WEBMATRIX下运行一关于REAPEATER控件的例子DataBinder.Eval(System.ComponentModel.Container.DataItem,"Country")报错“DataItem”不
TextBox tb= (TextBox)DataGrid1.Items[i].FindControl["tbPrice"]
tb = (TextBox)DataGrid1.Items[i].Cells[8].FindControl["tbPrice"];好像是遍历datagriditem来找Textbox的,这就有问题了,datagriditem有数据项的行,有表头的item,有显示分页的item,碰到Header,Page的这样的datagriditem,肯定就找不到textbox了,(TextBox)也就肯定会出错了.
去掉[i]试试
tItem) { TextBox tbox=(TextBox)e.Item.Cells[1].FindControl["tbPrice"]; string ss=tbox.Text;
}
这样是肯定没有问题的,先判断是不是有数据的行,然后再用具体的cell[具体的cell值]取得数据
(偶刚才的答案是错的,不好意思~~)