• 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块里面。

  • 相关阅读:
    K近邻 Python实现 机器学习实战(Machine Learning in Action)
    sklearn-SVC实现与类参数
    从核函数到SVM原理--sklearn-SVM实现
    基于scikit-learn包实现机器学习之KNN(K近邻)-完整示例
    java集合框架
    面向对象第一周心得体会
    java面试总结
    Aaa
    测试
    在Java中执行Tomcat中startup.bat
  • 原文地址:https://www.cnblogs.com/zhuqun/p/3922792.html
Copyright © 2020-2023  润新知