11 回答
TA贡献1820条经验 获得超2个赞
你這樣寫代碼是有問題的:
((TextBox)(GridView1.Rows[e.RowIndex].Cells[1].Controls[0]))
應該是 :TextBox a=((TextBox)(GridView1.Rows[e.RowIndex].Cells[1].Controls[0])) as TextBox;
if(a!=null){
才是textbox,否則是是哦。
}
你那個錯誤,說明有的不是textbox,有的是System.Web.UI.WebControls.HyperLink
檢查儀下代碼
TA贡献1895条经验 获得超3个赞
为什么要自己写代码呢?gridview本身就自带新增,编辑,删除功能啊?不设计界面3分钟就搞定了.1L已经说得很明白了,你把控件都转成Textbox去读取它的值不错,关键是你里面某一列是个HyperLink(超链接应该知道吧?),系统转不了TEXTBOX
TA贡献1818条经验 获得超3个赞
你UI的代码是怎样的,是用的模板列吗?如果是的,请参照下面的方法
例如:这一行的第一列的某个文本框的ID为txtTest,在更新这一行的时候获取txtTest的值的代码为
((TextBox)GridView1.Rows[e.RowIndex].FindControl("txtTest")).Text.Trim();
或者
((TextBox)GridView1.Rows[e.RowIndex].Cells[0].FindControl("txtTest")).Text.Trim();
可以不定位到单元格的,因为如果在后期,你想在这一列之前加上一列,那么你的列索引就要变了。
- 11 回答
- 0 关注
- 517 浏览
添加回答
举报