在gridview里使用findcontro("TextBox")报空异常,是怎么回事?

Colin_Cong 2015-06-14 02:15:09
  //更新
protected void GridView2_RowEditing(object sender, GridViewEditEventArgs e)
{
HiddenField h1 = this.GridView2.Rows[e.NewEditIndex].FindControl("id") as HiddenField;
int id = int.Parse(h1.Value);
string name = (this.GridView2.Rows[e.NewEditIndex].FindControl("name") as TextBox).Text;
string tel = (this.GridView2.Rows[e.NewEditIndex].FindControl("tel") as TextBox).Text;
int groupid = int.Parse((this.GridView2.Rows[e.NewEditIndex].FindControl("DropDownList1") as DropDownList).SelectedItem.Value);
this.US.Update(name, tel, groupid, id);
this.GridView2.EditIndex = -1;
this.Bind();
}

为什么这里会报这种异常?此表达式可导致副作用,将不会对它进行计算是什么意思?
在gridview里TextBox的ID改名成name,为什么findcontrol("name")会找不到但是int id会找到?
...全文
189 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
Colin_Cong 2015-06-15
  • 打赏
  • 举报
回复
引用 3 楼 lovelj2012 的回复:
估计你的id列位于name列之前 你把name列移动到第一列位置上
我终于解决错误了,原因是把编辑写成更新,更新写成编辑,犯下了好低级的错误
江南小鱼 2015-06-14
  • 打赏
  • 举报
回复
估计你的id列位于name列之前 你把name列移动到第一列位置上
Colin_Cong 2015-06-14
  • 打赏
  • 举报
回复
引用 1 楼 lovelj2012 的回复:
在编辑事件,增加这行代码

//设置要编辑行的索引
GridView2.EditIndex = e.NewEditIndex;

e.NewEditIndex和这个异常没有联系啊
点击编辑以后string name出现空异常,为什么同样是FindControl,为什么id会取到值不报异常呢?
江南小鱼 2015-06-14
  • 打赏
  • 举报
回复
在编辑事件,增加这行代码

//设置要编辑行的索引
GridView2.EditIndex = e.NewEditIndex;

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧