zoukankan      html  css  js  c++  java
  • 关于ASP.NET动态加载控件的几点实用总结

    总结(一下uc1为需要动态加载的控件)

    1. 通常是放在GridView之类控件的模板中,所以事件执行顺序是在页面OnLoad之后开始控件自己的Init和Load。

    2. 通常这个需要动态加载的控件很可能是一个用户控件Usercontrol。

    3. 通常控件的初始和数据绑定是在自己的Load中做的,所以页面的onLoad无法找到uc1,所以uc1自己的onload事件绑定数据时没有需要的必要参数。

    4. 根据以上3条情况,你可以在GridView的Edit相关事件或者把控件显示出来的相关事件中对控件必要属性赋值,而不是在页面的load事件。

    5. 最重要的一点就是以下这个例子:

                    foreach (ListItem li in RadioButtonListJobs.Items)
                    {
                        if (li.Value == this.SelectedJob.ID)
                        {
                            li.Selected = true;
                            break;
                        }
                    }

    这样的代码如果不是动态加载就OK,而li.Seleted赋值在动态加载的时候由于复杂的加载控件的"追赶论" ,

    这个属性赋值后所产生的对RadioButtonList.SelectedIndex或者实际效果是无效的,通过测试需要用这样的代码:

                    for (int i = 0; i < RadioButtonListJobs.Items.Count; i++)
                    {
                        if (RadioButtonListJobs.Items[i].Value == this.SelectedJob.ID)
                        {
                            RadioButtonListJobs.SelectedIndex = i;
                            break;
                        }
                    }

    写成这样,选中效果才出来。

    6. 以上是个人在自己项目环境下的总结和理解。

  • 相关阅读:
    九宫格代码
    数组相关
    动画设置模式大全
    extjs 学习小窍门
    linux mysql root密码重置
    (ExtJs 3.4)Ext.Ajax.request的同步请求实现
    Ext中renderer用法及参数
    Extjs 3.4 复选框的,默认选中 ,禁用,(纯属于自己代码中需要,总结!)
    linux部署安装nginx
    报表报500,tomcat日志显示报错:Can't connect to X11 window server using 'localhost:10.0' as the value of the DISPLAY variable
  • 原文地址:https://www.cnblogs.com/keyrratuff/p/2599260.html
Copyright © 2011-2022 走看看