zoukankan      html  css  js  c++  java
  • GridView取不到值的问题总结

    在ASP.NET开发过程中,使用GridView进行数据表现的时候遇到过两次取不到值的问题。分别是初学的时候与

    用了一年多以后。出现的问题并不是身边么高深的技术,但是可能会经常遇到,所以这里我做一下总计。GridView

    取不到值的情况主要是在使用GridView中自带的编辑的过程中取不到TextBox的值。但是问题源就不只一个了。

          1.回传后重新绑定(IsPostBack)

          这个问题并不是GridView这一个控件的问题。其他控件也有可能存在同样的问题。大家都知道我们在页面中

    的Page_Load事件中经常会写:     

    if(!IsPostBack)
    {
    //数据绑定
    }

    来避免不必要的数据回传。当在使用GridView过程中。如果数据绑定没有写在上面if块内,那么页面当我们使用

    GridView中“编辑”功能点击“更新”时触发页面数据回传。首先执行 Page_Load事件。那么GridView就会

    重新绑定。那么我们点击“更新”的时候取到的值就会是GridView 重新绑定后的值。这个就不用做过多解释了,只要

    是搞过的人就会明白。

          2.使用了模板列(ItemTemplate)

          这个问题并不多见,用的时候比较巧合。出现的情况就是当我点击“编辑”中“更新”按钮的时候取值只有取到绑定

    到上面的值,但是取不到要更新的值。问题出在哪里呢???下面这段关于GridView的这段代码就会出现这个问题。。

    Code

    问题就出在使用了模板列与GridView自带的更新事情。由于回传后GridView先执行了RowCommand事件,然后才执行

    RowUpdating事件,而且在RowCommand事件中执行了Bing()方法。所以当RowUpdating执行的时候获得的值是

    GridView重新绑定的值。

    解决办法就是:

          1.不使用RowUpdating,而是使用RowCommand事件进行数据修改。

          2.或者当RowUpdating执行时RowCommand不进行绑定。对于上面的修改就是把Bing移动到if块里面。

  • 相关阅读:
    A标签几种状况下的样式问题
    接口Comparator和Comparable的区别和联系
    Hash算法的讲解
    我所理解的面向对象
    MySQL中select * for update锁表的范围
    Java中使用同步关键字synchronized需要注意的问题
    大数据量下高并发同步的讲解(不看,保证你后悔)
    Apache、Tomcat、JBoss、Weblogic四个常用的JavaEE服务器
    ibatis基本内容简介
    Java常见排序算法之归并排序
  • 原文地址:https://www.cnblogs.com/zhuqun/p/3922792.html
Copyright © 2011-2022 走看看