zoukankan      html  css  js  c++  java
  • ASP.NET(1):GridView动态绑定控件的处理方式。

    1.在Gridview_RowDataBound中根据条件创建控件。

    2.测试时发现在回发的时候动态创建的控件没有了。

    解决:在回发的时候再动态创建控件

    Code

    3.使用过程中发现,绑定二次绑定数据源时,控件没值了

    原因:Gridview_RowDataBound绑定时,给控件的赋值都进行了IsPostBack的判断.所以没值

    解决:提供绑定时的属性支持

        bool ReRowDataBoundFlag
        {
            
    get
            {
                
    if (ViewState["RowDataBoundFlag"== null)
                {
                    ViewState[
    "RowDataBoundFlag"= true;
                }
                
    return (bool)ViewState["RowDataBoundFlag"];
            }
            
    set
            {
                ViewState[
    "RowDataBoundFlag"= value;
            }
        }

    总结:

    1.动态绑定的控件的值已经被写入了ViewState了,只要在回发的时候创建控件,就可以正常处理了。

    2.动态绑定的控件如果有数据源(例如:DrowDownList),那么数据源需要重新绑定。

    3.也许ReRowDataBoundFlag属性可以不要,原因时在DataBind中进行的IsPostBack的判断也许是多余的。(没有经过测试)

    4.如果不用的行要根据不同的值创建不同的对象,最好将值用过HiddenField进行保存,这样在创建控件的时候就可以有判断的依据

    Code
    ----------------------------------- http://www.cnblogs.com/rock_chen/
  • 相关阅读:
    使用postman解决接口之间的接口依赖
    loadrunner11安装
    记录一次搭建jmeter分布式压测环境时creatermikeystore.bat不是内部命令
    jmeter分布式压测环境搭建(jmeter版本5.1.1,jdk版本jdk1.8.0_221)
    jmeter基于windows分布式压测环境搭建
    Chrome浏览器一直请求clients1.google.com:443
    Nginx 配置支持C++
    Ubuntu Sublime Text 设置等宽字体
    取任意四边形最长边
    调用Lua脚本print(xxx)报attempt to call a nil value (global 'print')错误
  • 原文地址:https://www.cnblogs.com/rock_chen/p/1322451.html
Copyright © 2011-2022 走看看