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

推荐订阅源

Engineering at Meta
Engineering at Meta
博客园_首页
H
Help Net Security
WordPress大学
WordPress大学
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
罗磊的独立博客
博客园 - 三生石上(FineUI控件)
B
Blog
I
InfoQ
SecWiki News
SecWiki News
T
Tailwind CSS Blog
Spread Privacy
Spread Privacy
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
V
Vulnerabilities – Threatpost
N
Netflix TechBlog - Medium
P
Palo Alto Networks Blog
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
Vercel News
Vercel News
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
K
Kaspersky official blog
M
MIT News - Artificial intelligence
S
Schneier on Security
T
Threat Research - Cisco Blogs
F
Fortinet All Blogs
Cyberwarzone
Cyberwarzone
Scott Helme
Scott Helme
aimingoo的专栏
aimingoo的专栏
Martin Fowler
Martin Fowler
MyScale Blog
MyScale Blog
The Cloudflare Blog
Recent Announcements
Recent Announcements
Security Latest
Security Latest
G
GRAHAM CLULEY
IT之家
IT之家
Y
Y Combinator Blog
The Last Watchdog
The Last Watchdog
腾讯CDC
Google DeepMind News
Google DeepMind News
V
V2EX
S
Securelist
TaoSecurity Blog
TaoSecurity Blog
B
Blog RSS Feed
S
SegmentFault 最新的问题
博客园 - 叶小钗
P
Proofpoint News Feed
云风的 BLOG
云风的 BLOG
Project Zero
Project Zero
G
Google Developers Blog
Google DeepMind News
Google DeepMind News
F
Full Disclosure

博客园 - 熵星尘

苦逼的程序员都是这么玩游戏的(微信:天天连萌) 记录代码运行耗时的写法 关于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. 以上是个人在自己项目环境下的总结和理解。