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

原创 2004年10月18日 20:08:00

                        在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 母版页和内容页中的事件 母版页和内容页都可以包含控件的事件处理程序。对于控件而言,事件是在本地处理的,即内容页中的控件在内容页中引发事件,母版页中的控件在母版页中引发事件。控件事件不...
  • cqkxzyi
  • cqkxzyi
  • 2012年01月10日 13:40
  • 934

用户控件与页面执行顺序

protected void WebUserControl1_Init(object sender, EventArgs e){} protected void WebForm1_Init(objec...
  • selfxd
  • selfxd
  • 2010年08月26日 21:43
  • 440

asp.net中动态加载用户控件的办法

很多网友在按钮的click事件中动态添加用户控件在页面回传后消失了或者就是用户控件中的按钮事件不能触发,下面是解决办法: (1) 首先添加一个用户控件:WebUserControl1.ascx ...
  • sweetsoft
  • sweetsoft
  • 2006年02月06日 13:22
  • 8500

asp.net动态加载用户控件

动态加载的用户控件根据参数是否传递分两种,一种是需要传递参数,另一种是不需要。两种不同的方式,实现形式也不一样,不传参数的简单。   一、不传递参数的加载:   // .cs文...
  • handsometone1982
  • handsometone1982
  • 2012年08月16日 17:41
  • 4139

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

要点:1. 使用Page.ParseControl2. 使用base.LoadControl第一部分:加载模板 下面是一个模板“”如何把它添加到页面中那。  首先,你要有一个页面(.aspx),在页面...
  • slightboy
  • slightboy
  • 2004年10月29日 12:19
  • 856

ASP.NET中WEB用户控件和自定义控件

 自定义控件中UserControl(用户控件)和CustomControl(自定义控件)的区别Web用户控件与自定义控件的设计都是为了实现代码的重用.使程序开发者开发时方便快捷,提高开发效率。虽然W...
  • aaronbai
  • aaronbai
  • 2007年10月13日 16:38
  • 2458

关于ASP.NET同页面内【用户控件与父页面】以及【用户控件与用户控件】之间方法调用/传值

BEGIN     首先我们需要明白一个道理,不管一个ASPX页面里面装了多少个ASCX,始终还是要生成一个页面的代码的,所以毫无疑问,我觉得在解决这个问题之前我就已经确定这个问题是可解的。直接...
  • dongbo19910728
  • dongbo19910728
  • 2013年06月06日 10:43
  • 745

在Asp.Net中动态加载用户控件

  我们在Asp.Net开发过程中,有时候为了开发的需要,或达到一定的效果,我们会才取动态加载用户控件的方法来实现,动态加载用户控件,可以在同一个页面里面,根据不同的情况显示不同的内容,使我们在开发省...
  • evenbing
  • evenbing
  • 2007年09月13日 16:23
  • 712

ASP.NET中,动态加载用户控件

ASP.NET中,动态加载用户控件,有些人可能会碰到用户控件中的事件(比如按钮等)没有触发,用户控件消失等情形。我也曾遇到这样的情况,将一些经验总结如下,实际上,如果你对ASP.NET的页面模型及其生...
  • bigstoneasd
  • bigstoneasd
  • 2008年04月23日 15:06
  • 925

ASP.NET中的用户控件和用户自定义控件

用户控件:        用户控件是用户自定义的可重用的一种控件,它的使用由HTML和Web服务器控件使用相同的技巧。开发人员能够根据程序的需要,定义和编写用户控件,开发所使用的编程技术与Web窗体编...
  • dandanzmc
  • dandanzmc
  • 2013年10月07日 17:39
  • 7822
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:在ASP.NET中动态加载内容(用户控件和模板)
举报原因:
原因补充:

(最多只允许输入30个字)