ASP.NET1.1实现仿2.0的MasterPage功能
创始人
2024-04-22 07:01:01
0

在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著作

相关内容

热门资讯

如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
施耐德电气数据中心整体解决方案... 近日,全球能效管理专家施耐德电气正式启动大型体验活动“能效中国行——2012卡车巡展”,作为该活动的...
20个非常棒的扁平设计免费资源 Apple设备的平面图标PSD免费平板UI 平板UI套件24平图标Freen平板UI套件PSD径向平...
德国电信门户网站可实时显示全球... 德国电信周三推出一个门户网站,直观地实时提供其安装在全球各地的传感器网络检测到的网络攻击状况。该网站...
为啥国人偏爱 Mybatis,... 关于 SQL 和 ORM 的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行...
《非诚勿扰》红人闫凤娇被曝厕所... 【51CTO.com 综合消息360安全专家提醒说,“闫凤娇”、“非诚勿扰”已经被黑客盯上成为了“木...
2012年第四季度互联网状况报... [[71653]]  北京时间4月25日消息,据国外媒体报道,全球知名的云平台公司Akamai Te...