Web用户控件有很多优点,最大的好处是有可视化的界面,让我们这么懒人可能更方便的设计界面。但我们使用时一般都是将它直接拖到页面中。这样做只是将页面的控件打包到一起,多处使用而已,还不能充分发挥它的强大功能。其实我一直在想,能不能在页面中动态加载它呢?就是根据不同的请求加载不同的用户自控义控件呢?
昨天刚好遇到了这个问题。经过一天的试验,终于可以把它实现了。步聚如下:
1、首先,制作Web用户控件。比如:a.ascx. b.ascx. c.ascx
分别为他们定义一个方法 (这一步可以不要,为了演示怎样调用方法):
public void BindData(...){...} 。作用是绑定数据。
2、将它们与关键字一同保存到数据库。
如
key control
a a.ascx
b b.ascx
c c.ascx
3、在页面的Page_Load()方法中加入以下代码:
首先是根据不同的请求取到,WebUserControl 的虚拟路径(略),保存到字符串变量path中。
![](https://i-blog.csdnimg.cn/blog_migrate/6810355c2f78c12e91b7997a8e8c583a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/6810355c2f78c12e91b7997a8e8c583a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/6810355c2f78c12e91b7997a8e8c583a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/a41954a27d6ad96fa2c2cf816e677448.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/1327ab569c1ae82736693a50b8e33378.gif)
关于如何在页面中手工调用 在我Blog中另外一篇中有说明。