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. 以上是个人在自己项目环境下的总结和理解。

  • 相关阅读:
    Thinkphp3.2 下载文件的方法
    使用Git向GitHub上传代码
    Ajax的调试错误信息的输出
    常用的邮箱服务器(SMTP、POP3)地址、端口
    Laravel框架中使用邮件发送功能
    Laravel框架之CSRF防跨站攻击
    Laravel框架接入短信平台进行用户注册短信验证
    Laravel中使用Session存取验证码信息
    beego api 服务允许跨域访问,解决前端访问报Access-Control-Allow-Origin问题
    golang:send mail using smtp package
  • 原文地址:https://www.cnblogs.com/keyrratuff/p/2599260.html
Copyright © 2011-2022 走看看