GridView取不到值的问题总结
在ASP.NET开发过程中,使用GridView进行数据表现的时候遇到过两次取不到值的问题。分别是初学的时候与
用了一年多以后。出现的问题并不是身边么高深的技术,但是可能会经常遇到,所以这里我做一下总计。GridView
取不到值的情况主要是在使用GridView中自带的编辑的过程中取不到TextBox的值。但是问题源就不只一个了。
1.回传后重新绑定(IsPostBack)
这个问题并不是GridView这一个控件的问题。其他控件也有可能存在同样的问题。大家都知道我们在页面中
的Page_Load事件中经常会写:
{
//数据绑定
}
来避免不必要的数据回传。当在使用GridView过程中。如果数据绑定没有写在上面if块内,那么页面当我们使用
GridView中“编辑”功能点击“更新”时触发页面数据回传。首先执行 Page_Load事件。那么GridView就会
重新绑定。那么我们点击“更新”的时候取到的值就会是GridView 重新绑定后的值。这个就不用做过多解释了,只要
是搞过的人就会明白。
2.使用了模板列(ItemTemplate)
这个问题并不多见,用的时候比较巧合。出现的情况就是当我点击“编辑”中“更新”按钮的时候取值只有取到绑定
到上面的值,但是取不到要更新的值。问题出在哪里呢???下面这段关于GridView的这段代码就会出现这个问题。。

问题就出在使用了模板列与GridView自带的更新事情。由于回传后GridView先执行了RowCommand事件,然后才执行
RowUpdating事件,而且在RowCommand事件中执行了Bing()方法。所以当RowUpdating执行的时候获得的值是
GridView重新绑定的值。
解决办法就是:
1.不使用RowUpdating,而是使用RowCommand事件进行数据修改。
2.或者当RowUpdating执行时RowCommand不进行绑定。对于上面的修改就是把Bing移动到if块里面。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 通过 API 将Deepseek响应流式内容输出到前端
· AI Agent开发,如何调用三方的API Function,是通过提示词来发起调用的吗