上一篇:在ASP.Net 中使用实现windows登陆的方法 >>
在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,不过在这里你不能调整用户件位置。(我当然可以了)在这个例子中的导航栏也是动态加载的,不同的页可能使用不同的模板加载不同的用户控件。
下一篇:ASP.net组件编程中的两种事件编写方法 >>
相关文章:
- · 关于大型网站的构架问题
- · ASP.NET中上传文件的方法(一)
- · 坚持学asp.net——(十二)
- · 在ASP.NET中跨页面实现多选
- · Securing an ASP.Net application...
- · Send Email and Attachments with ASP.Net...
- · asp.net中的多語言使用
- · 網頁中彈出對自定義對話框並進行傳值
- · 將 ASP .NET WebForm 的 DataGrid 中的資料 匯出至 Microsoft Excel
- · ASP.NET中树形图的实现
- · 细细品味ASP.NET
- · ASP.NET中制作图形
- · ASP.NET常用函数
- · ASP.NET开发经验(2) --- ASP.NET中的一些图形处理
- · ASP.NET域名查询系统
- · [我的ASP.net学习历程]有关于.dll文件的迷惑
- · 自己动手写屏保
- · 实现性能目标的几种方法
- · Asp.Net 使用 GDI+ 绘制3D饼图入门篇源码
- · [我的ASP.net学习历程]调用类库函库的简单加密方法
- · ASP.NET 在域控制器上使用默认 ASPNET 帐户不能正常运行!
- · 坚持学asp.net——(十一)
- · 排序算法
- · 坚持学asp.net——(十)
- · 文本型单页面ASP.NET计数器
- · 一种全新的软件界面设计方法(摘)
- · 如何使用 ASP.NET、ADO.NET 和 Visual C# .NET 查询和显示 Excel 数据
- · 如何给用户控件定义属性(C#:ASP.NET)
- · 如何复制一个目录里面的所有目录和文件
- · asp.net中显示DataGrid控件列序号的几种方法
- · Asp.NET常用函数 (VB.net)
- · Asp.net动态生成html页面
- · .Net中如何操作IIS
- · asp.net访问word的类
- · 在 ASP.NET 中执行 URL 重写
- · 窗体标题栏外的拖动操作
- · Asp.net页面输出到EXCEL
- · MSHFlexGrid1使用技巧(一)[如何让MSHFlexGrid只能被选中一行]
