ASP.NET1.1实现仿2.0的MasterPage功能

开发 后端
本文介绍了ASP.NET1.1实现仿ASP.NET2.0的MasterPage效果。

在asp.net 2.0中,提供了一个masterpage的功能,它可以让我们很方便的完成页面的整体结构相同的网站,而且后期修改界面的时候只要修改一下masterpage即可,无需一个个界面进行修改,这样就大大的方便了开发人员.其实类似这种技术在asp.net1.1中也可以实现.

思路分析

对于可以用mastespanpage的网站来说,它的页面结构大部份是一至的,比如顶部、底部都是一样的,只不过左右侧显示的内容不同。这个时候,你不妨把左右两侧的内容也分别放在用户控件中,然后根据当前的访问地址来动态加载用户控件,这样到时候只要修改动态加载的用户控件的内容,或是masterpage的框架,即可实现修理网站的目的。

实现过程

首先取得当前访问的文件地址,代码如下:

  1. //取得当前访问的路径  
  2. sspaning sspanrequesturl = request.url.absolutepath.tosspaning();  
  3. //取得当前访问的文件名,并转换成小写  
  4. sspaning sspannowviewfile = sspanrequesturl.subsspaning((sspanrequesturl.lastindexof(@"/") + 1)).trim().tolower();  

然后点击“添加?添加web用户控件”新建三个用户控件,分别命名为masterpage.ascx、head.ascx和foot.ascx,在masterpage.ascx中添加一个三行两列的表格,然后将head.ascx和foot.ascx控件拖到masterpage.ascx中,同时在左右两侧均添加一个placeholder控件,分别命名为hldleftconspanol和hldrightconspanol,完成后效果如下:

  1. head.ascx hldleftconspanol hldrightconspanol foot.ascx 

此时只要将masterpage.ascx拖到具体的页面中,比如index.aspx,运行后就会显示顶部、底部的内容。接下来要根据当前访问的文件地址,确定动态加载哪些用户控件到左右两侧位置,这部份操作在masterpage.ascx.cs中完成。代码如下:

  1. //ASP.NET1.1
  2. switch(sspannowviewfile)  
  3. {  
  4. //如果当前访问的是首页  
  5. case "index.aspx":   
  6. //创建用户控件类的对象,类名与用户控件的名称是相同的   
  7. conspanol_index_indexrightconspanol indexrightconspanol;  
  8. //加载用户控件  
  9. indexrightconspanol = (conspanol_index_indexrightconspanol)page.loadconspanol("conspanol_index_indexrightconspanol.ascx");  
  10. //在右侧的placeholder控件中显示用户控件   
  11. plhrightconspanol.conspanols.add(indexrightconspanol);  
  12. break;  
  13. //加载会员注册部份  
  14. case "register.aspx":   
  15. conspanol_login_register register;  
  16. register = (conspanol_login_register)page.loadconspanol("conspanol_login_register.ascx");  
  17. plhrightconspanol.conspanols.add(register);  
  18. break;  
  19. default:   
  20. indexrightconspanol = (conspanol_index_indexrightconspanol)page.loadconspanol("conspanol_index_indexrightconspanol.ascx");  
  21. plhrightconspanol.conspanols.add(indexrightconspanol);  
  22. break;  
  23. }  

添加了以上代码后,如果访问的页面是index.aspx,在index.aspx页右侧,就会加载conspanol_index_indexrightconspanol.ascx控件的内容,如果访问的是register.aspx页,右侧就会加载conspanol_login_register.ascx控件的内容.

这样就使得asp.net1.1实现了masterpage的功能.

【编辑推荐】

  1. ASP.NET关机代码(Windows为本机)
  2. ASP.NET QueryString乱码解决问题
  3. ASP.NET画面跳转实现及其传值问题解决方案
  4. ASP.NET Web应用程序用户操作信息描述类
  5. ASP.NET之父强烈推荐:ASP.NET AJAX著作
责任编辑:book05 来源: blogbus
相关推荐

2009-07-29 14:59:26

asp.net1.1ASP.NET2.0

2009-07-29 15:17:42

验证控件ASP.NET1.1ASP.NET2.0

2009-07-29 15:58:54

静态文件处理ASP.NET

2009-07-29 15:51:29

ASP.NET中执行w

2009-07-29 11:29:16

ASP.NET1.1ASP.NET2.0

2009-07-29 15:26:43

ASP.NET连接Or

2009-07-29 15:06:16

asp.net1.1asp.net2.0

2009-07-29 16:04:39

ASP.NET1.1验

2009-07-29 15:42:37

asp.net1.1开

2009-07-23 13:36:03

2009-08-04 14:44:40

callback实现机ASP.NET2.0

2009-12-10 17:47:01

ASP.NET 2.0

2009-07-22 17:23:03

XmlDataSourASP.NET 2.0

2009-12-14 10:03:16

ASP.NET 2.0

2009-12-03 13:34:36

Visual Stud

2009-07-30 13:18:31

2009-07-30 15:17:16

ASP.NET 2.0

2009-07-22 16:02:39

ASP.NET MVCPagedList

2009-07-22 17:28:07

CSS文件ASP.NET 2.0

2009-07-21 15:27:12

ASP.NET 2.0
点赞
收藏

51CTO技术栈公众号