首页 > 编程 > .NET > 正文

在ASP.NET中动态加载内容(用户控件和模板)

2024-07-10 12:57:08
字体:
来源:转载
供稿:网友
在asp.net中动态加载内容(用户控件和模板)
要点:
1. 使用page.parsecontrol
2. 使用base.loadcontrol
第一部分:加载模板
下面是一个模板“<table width=100%><tr><td width=100% colspan=2 runat=server id=containertop></td></tr><tr><td width=30% runat=server id=containerleft></td><td width=70% runat=server id=containerright></td></tr></table>”如何把它添加到页面中那。 

首先,你要有一个页面(.aspx),在页面中有一个一行一列的表格,并且是服务器端的td我们就把它命名为templatecontainer。好了现在到代码编辑窗口,在page_load中加载模板。
第二步,使用page.parsecontrol将上边的html代码分析为web窗体页或用户控件的system.web.ui.control如下代码:
protected system.web.ui.htmlcontrols.htmltablecell templatecontainer;
system.web.ui.control objcontainer;
private void page_load(object sender, system.eventargs e)
{
objcontainer =page.parsecontrol(“上边的html代码);
this.tempcontainer.controls.add(objcontainer);
}
模板已经加载完毕。
第二部分:加载用户控件
首先,你要确定用户控件要加载到页面的那个位置。现在你会发现第一部分的那段html代码,其中每一个td都是一个容器你可以通过page.findcontrol找到你要加载控件的容器。如下代码:
system.web.ui.control objcontrol=page.findcontrol("containertop");
第二,找到容器后,就可以将你的用户控件加载到页面中了。如下代码:
objcontrol.controls.add(base.loadcontrol(“用户控件虚拟路径”));
现在运行程序看看,是不是已经加载了用户控件。

以上是动态加载模板和用户控件的一些主要部分,要想做一个比较好的页面还需要加入许多必要的东西,如将模板和用户控件的虚拟路径都保存到数据库中、对页面已经加载了的用户控件进行位置的调整。对权限的控制如那些人可以看什么用户控件那些人不可以 看用户控件,等等。
下面中一个例子:http://elt.nec.edu.cn,不过在这里你不能调整用户件位置。(我当然可以了)在这个例子中的导航栏也是动态加载的,不同的页可能使用不同的模板加载不同的用户控件。



发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表