如何在页面中动态加载用户控件?
我有一个包含radioButtons的页面。每次单击单选按钮时都会在页面中加载用户控件(.ascx)。
我在做什么是在同一时间加载所有控件,但将其可见性设置为false。当用户单击单选按钮时,我将特定用户控件的可见性设置为true。
因此,我在每次回发中加载所有用户控件。
有没有其他可能的方式来做到这一点?动态加载用户控件
Q
动态加载用户控件
7
A
回答
13
例如,在页面上添加一个带有“divControls”标识的runat服务器的div。
Asp允许您动态加载用户控件“.ascx”。
下面的代码应该可以解决您的问题。
Control ctrl = Page.LoadControl("UserControlPath");
divControls.Controls.Clear();
divControls.Controls.Add(ctrl);
0
是否有任何具体的原因来保持在单个页面的usercontrols?
在加载所有控件并将其设置为可见时,考虑页面视图状态。
我认为有两个可能的解决方案:
要么创建主机不同的用户控制和当在某些单选按钮用户点击,重定向到相应的页面seprate页。
按需加载,即当用户请求用户控件时,只加载它,但删除所有其他加载的用户控件,因此页面随时只有一个用户控件。
1
如果你不把它们放在列表中,并且在会话中列表中,你将会遇到很多麻烦。
Ghyath的方式是正确的,但你也应该将它们添加到List中。
List<Object> Usercontrols = new List<Objects>{};
Control ctrl = Page.LoadControl("UserControlPath");
Usercontrols.Add(ctrl);
Session["Usercontrols"] = Usercontrols;
在每次回发时,您需要使用列表中的控件重新加载div。 编辑:我纠正了最后一行。
相关问题
- 1. 动态加载用户控件
- 2. 动态加载的用户控件
- 3. 面板和用户控件vs动态加载用户控件
- 4. 基于其他控制事件动态加载用户控件
- 5. 如何动态加载包含asp控件的用户控件
- 6. 加载用户控制动态
- 7. 动态加载控件
- 8. 控制动态AJAX用户控件的加载顺序
- 9. 在视图状态下持久动态加载用户控件
- 10. 保存加载用户控件动态视图状态
- 11. 负载WPF用户控件动态
- 12. 停止在WPF的动画,动态加载的用户控件
- 13. 绑定到动态加载的用户控件中的事件
- 14. 如何在动态加载时注册用户控件事件
- 15. 如何动态添加用户控件中的用户控件
- 16. 使用jquery动态加载用户控件ajax
- 17. 动态创建/加载用户控件只能使用一次!
- 18. 用参数动态加载用户控件
- 19. 用javascript动态加载asp.net控件
- 20. 添加用户控件动态
- 21. 动态添加网页用户控件
- 22. 动态添加用户控件和ViewState
- 23. 动态添加用户控件
- 24. 防止卸载控件动态加载
- 25. 加载用户控件动态丢失数据
- 26. Iframe vs动态加载网页用户控件
- 27. 动态加载用户控件而不是渲染
- 28. 在MVC中动态加载用户控件
- 29. 从服务器端动态加载用户控件
- 30. 两个WebPart加载用户控件动态连接在一起