惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

云风的 BLOG
云风的 BLOG
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
J
Java Code Geeks
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
Engineering at Meta
Engineering at Meta
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
小众软件
小众软件
博客园 - 聂微东
酷 壳 – CoolShell
酷 壳 – CoolShell
月光博客
月光博客
Last Week in AI
Last Week in AI
博客园_首页
I
InfoQ
T
Tailwind CSS Blog
爱范儿
爱范儿
雷峰网
雷峰网
Recent Announcements
Recent Announcements
F
Fortinet All Blogs
B
Blog
WordPress大学
WordPress大学
A
About on SuperTechFans
V
Visual Studio Blog
有赞技术团队
有赞技术团队
P
Proofpoint News Feed

博客园 - 熵星尘

苦逼的程序员都是这么玩游戏的(微信:天天连萌) 记录代码运行耗时的写法 关于Linq to DataTable not in的写法 DevExpress AspxGridView数据绑定 发现一个Membership的bug 无法将类型为“Oracle.DataAccess.Types.OracleString”的对象强制转换为类型“System.String”。 asp.net页面中文件下载的2种方式 - 熵星尘 - 博客园 gridview 的添加删除等技巧 全部按名称取值 【部分转】innerText 跟 innerHTML区别 asp.net验证组件membership登录失败的问题 母板页中的引用的图片,JS,css等路径问题 - 熵星尘 - 博客园 如何获取GridView的EmptyDataTemplate中的控件 Mutex实现单实例,你真的搞懂了吗?来看看吧。 VS2008 如何在WinForm中显示flash - 熵星尘 - 博客园 【原创】从图像转换到byte[]数组的几种方法 除夕晚的一帖:如何为repeater内部控件设置javascript,如何取得它们的客户端ID。 回发或回调参数无效。 问题的解决和思考 - 熵星尘 - 博客园 【作品发布】正式发布Tuff的神奇小软盘1.2 【作品发布】QQ2008远程自助 1.5.1.1
关于ASP.NET动态加载控件的几点实用总结
熵星尘 · 2012-07-19 · via 博客园 - 熵星尘

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