基于MasterPage和UserControl的网站架构模式

news/2024/5/18 20:54:04/文章来源:https://blog.csdn.net/weixin_30955617/article/details/95199357

页面与后台代码分离的方式之CS模式 一文中, 我已经提到了 Metabuilders 开发的一个masterpage控件,用来整合和控制站点的统一风格显示. 最近再仔细研究一下这个东东,发现还是有很多好处的,就拿来介绍一下了:) (:本文所出现的代码均为community server项目的代码)<?xml:namespace prefix = o />

自从asp.net问世以来,大部分常见的web项目都是直接使用codebehind方式来建立,这样虽然写起代码来很方便,可以直接使用ide的功能,双击按钮就可以处理后台事件. 但它的缺点也是显而易见的.
1.
它几乎不能实现换肤功能.
2.
重用性太低,相同的页面元素在每个页面里面都会被重复写入.虽然可以部分地使用ascx,但还是不能解决根本问题.
3.
代码冗余,特别是html代码冗余.每添加一个页面都会重复的写 head,body...
4.
风格极度的不易统一,尤其是在协作开发时,任何一个开发人员都可以随意的修改页面里的布局.
... ...

那么,我们来换一种思维想一下,如果开发一个web项目(主要是网站性质的),我们每个开发人员仅仅需要将自己所做的功能模块按照规定的要求写成一个个的control,而不是page,不需要管这些控件怎么去组织,然后,由专门的架构人员将这些control给组织起来,就构成了一个可以运行的实际项目.

当然,这里说的写control也不是那种直接双击按钮就直接在ascx.cs文件中写代码的那种. 而是要代码和界面彻底的分离. 就是说,理论上,在程序集不变的情况下,我可以随意的替换不同风格的界面.而且可以很方便的互相组合control元素. 使之具有不同的布局.

当然这个架构过程会相对复杂一点,我这里只是去繁就简,假设一个站点就一种布局风格, 说一下原理和思路.

1.定义一个masterpage,在这个page里定义各个显示区域. 先看看代码:

可以看到,这是一个模板页,里面仅仅定义了各个区域.

2.写普通页面,不需要写任何标准html标签,只要注明区域ID,然后,将写好的control放置到该区域内.

只需要这两步即可实现页面的显示,如果变换风格,也只需要换一下模板页即可.

那么,masterpage是怎么实现将控件加载到指定位置的? 首先, 在任何普通页面加载前,都会先加载模板页里的内容,加载完毕后,再加载模板页里定义的各个区域,然后将各个区域动态定位到指定位置,然后加载区域里controls.

这样以来, 一旦项目的风格确定后, 开发人员仅仅需要关注怎么样去写各个control的逻辑,而不用再考虑页面布局问题. 另外, 又由于每个controls都是做到了代码和界面的彻底分离. 那么,整个web工程就可以没有任何cs代码, 而是将全部的cs代码写在另外一个业务逻辑工程里去.

,今天就先写到这, 有关Masterpage的概念和使用可以参阅如下几篇文章, 这里就不再详细解说了, asp.net2.0,Masterpage已经被正式/官方的支持 :)

Master Pages in ASP.NET 2.0 : 该文详细讲解了在asp.net2.0中如何使用masterpage.

MasterPages Templating Framework : 如果你是在asp.net1.1环境下, 可以使用Matebuilders.com开发的这个. cs就是采用它的控件.该控件也是在微软的几个员工开发的基础上做了修改和完善.

An Extensible Master-Page Framework for ASP.NET 1.1 Using Pattern Oriented Design : codeproject上的.很不错.

aggbug.aspx?PostID=1111

转载于:https://www.cnblogs.com/Freedream/archive/2005/08/23/229494.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_733221.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

apache服务搭建虚拟目录和多网站,同端口同ip不同域名及同ip同域名不同端口号设置。...

pache是一款Web服务器软件&#xff0c;有多种产品&#xff0c;可以支持SSL技术&#xff0c;支持多个虚拟主机。 它快速、可靠并且可通过简单的API扩充&#xff0c;将Perl&#xff0f;Python等解释器编译到服务器中。实验环境 一台linux6.5&#xff0c;ip为192.168.10.20.&#…

如何查看网站的端口

FTP&#xff1a;21 SSH&#xff1a;22 MYSQL&#xff1a;3306 DNS&#xff1a;53 HTTP&#xff1a;80 POP3&#xff1a;109 Https&#xff1a;443 通俗化解释什么是网站的端口&#xff0c;特别实用。 -------------------------------------------------------- 【本质透析】 从…

ExtJS学习网站

W3Cschool学习入门Ext还是很不错的 网站地址&#xff1a;https://www.w3cschool.cn/extjs/ 如果要系统性的学习还是建议去官网下载 https://www.sencha.com/products/extjs/

音乐MP4网站 车辆工程 冯大昕

转载于:https://www.cnblogs.com/FengTang/p/8065023.html

写了C# ASP.NET WebService的XML解析网站接口程序收了200元辛苦费【加入软件项目源码交易群的好处】...

为什么80%的码农都做不了架构师&#xff1f;>>> 记得当年为了学XML&#xff0c;也购买了好几本书&#xff0c;每本都接近100元&#xff0c;基本上都看不懂在讲什么&#xff0c;没办法只能通过以前同事的帮助总算学了几招控制XML的C#方法&#xff0c;当时也没那么多…

5个能够改变一生的自学网站,每天半小时效果看的见!

很多朋友想利用闲暇时间学一点东西&#xff0c;但是想要自学&#xff0c;好的平台很重要&#xff0c;如果你苦于没有好平台&#xff0c;小编在这分享5个给大家&#xff0c;每天半小时&#xff0c;效果看得见哦。 今日主题&#xff1a;5个能够改变一生的自学网站&#xff0c;每…

2018程序员必备的4大网站推荐(代码、编程、SQL等)

科技时代&#xff0c;程序员是一个热门行业&#xff0c;也是一个高薪行业&#xff0c;很多人很羡慕程序员&#xff0c;其实作为一名合格的程序员&#xff0c;要不断的提升自己&#xff0c;因为科技也在不断进步&#xff0c;所以&#xff0c;接下来小编分享5个程序员必备网站&am…

嘘!快收好这5个精品素材网站,一般人我不告诉他

还在发愁不知道去哪里找PPT制作素材吗&#xff1f;今天悄悄告诉你几个精品个素材网站来帮你&#xff0c;嘘&#xff0c;快来&#xff01; 一、微软Office 微软Office官方在线模板的模板基本涵盖了工作中所有使用的场景需求&#xff0c;不仅有 PPT 模板&#xff0c;还有Word 文…

网站上的图文、音乐、视频无法复制或下载怎么办?一招快速破解!

在浏览网站寻找素材的时候&#xff0c;看到需要的图文、音乐、视频素材想把它复制或者下载下来&#xff0c;发现有限制&#xff0c;无法复制或下载&#xff0c;可是好不容易才找到的合适的素材又不愿意放弃该怎么办呢&#xff1f;今天小编来教大家一个快速破解法&#xff0c;希…

3个超实用的资源搜索网站,有了它们,再也没有你找不到的资源!

还在为找不到自己需要的资源而烦恼&#xff1f;别烦恼啦~快来看看这3个超实用的资源搜索网站&#xff0c;有了它们&#xff0c;再也没有你找不到的资源&#xff01; 1.BT搜 BT搜&#xff0c;这个网站虽然看起来比较简单&#xff0c;但是却有很多非常实用的资源&#xff0c;没有…

知道这4个隐藏资源网站的人非常少,难怪总是找不到资源

现在的互联网是开放的&#xff0c;我们可以通过网络下载到很多自己需要的东西&#xff0c;但是有些网站因为不够知名而被忽视&#xff0c;但是里面的资源还是很不错的。 今天小编就来跟大家分享几个隐藏的资源网站&#xff1a; Aio search 国外的一个BT资源站&#xff0c;资…

还在用百度找资源?试试这3个顶级资源搜索网站,没有找不到的!

资源搜索是工作和学习的日常&#xff0c;相信很多人都喜欢用百度去搜索&#xff0c;虽然百度很强大&#xff0c;但是毕竟资源有限&#xff0c;今天再给大家分享3个顶级资源搜索网站&#xff0c;视频、音乐、图片等应有尽有&#xff0c;没有你找不到的哦。 1.虫部落 一个解决稀…

PPT难做?花太长时间?收藏这4个网站,省时省力效率提升不止一倍

很多人在进入职场后&#xff0c;通常第一个要做的是制作一份简洁有逻辑的PPT。所以如果在职场办公过程中不会使用PPT软件真的太吃亏了。很多人都常说PPT难做&#xff0c;花了很长时间。其实&#xff0c;是因为你不知道可以高效做到&#xff0c;只需收藏这个4个网站&#xff01;…

编程大神都在用的6个编程网站,一个月轻松学会编程,好用到不行

现在随着很多公司都将业务慢慢的转移到了网站上&#xff0c;很多朋友就想学习IT行业&#xff0c;那么到底哪些大神们到底使用的什么软件呢&#xff1f;今天就为大家介绍6个编程大神都在使用的编程网站&#xff0c;想要提高从现在开始&#xff01; 1.Codecademy Codecademy提供…

11个资源强大的网站!知乎超20万人强烈推荐,再也不怕资源难找

在我们日常工作学习中难免就需要在网站搜索资料&#xff0c;这时候一定需要一个能够帮你搜索一切你想要的资源&#xff0c;从而为你剩下一大半时间&#xff0c;那么今天为大家整理了11个超级好用的黑科技资源搜索网站&#xff0c;帮你解决因为上网找不到合适的资源而发愁&#…

这几个质量超高的自学网站,每天逛10分钟,年薪百万不是问题!

现在很多人都会因为工作太过繁忙而没有时间提升自己&#xff0c;今天小编将分享几个质量超高的学习网站&#xff0c;帮助大家不断提升自己~ 一、番薯学院 在网站中有非常多有关大学的学习视频和学习资料&#xff0c;没有任何的门槛&#xff0c;不管是什么人都可以在里面学到大…

不用PS也能设计出精美图片?这几个强大的在线设计网站了解一下~

现在很多人多多少少需要设计一些微信公众号图片、PPT图片等等&#xff0c;但是作为设计小白的我们实在是不知道如何下手与PS对抗。今天小编将推荐几个十分强大的在线设计网站&#xff0c;帮大家轻松完成设计想法~ 一、创客贴 这是一个非常强大的在线设计网站&#xff0c;我们可…

收藏了很久的:5款电影网站!高清大片任意看!就没有找不到资源!

一放假就剧荒&#xff1f;没有时间去电影院看&#xff1f;那这5款电影网站你很需要&#xff01; Top1&#xff1a;中国高清网 各种大片任意看&#xff01;最新上映还是好莱坞大片&#xff0c;想看什么就看什么&#xff01;还怕剧荒&#xff1f; Top2&#xff1a;BT天堂 热门综…

4个资源多到溢出来的在线网站,个个都是“上好佳”

现在人们对资源的需求很多&#xff0c;不管是图片资源还是电影、音乐、资源等。有需要就有对应的资源网站&#xff0c;如果你还没有好用的在线网站&#xff0c;可以看看下面的这些哦。 一、图片——thestocks 写文章总是找不到好看的、无版权的图片可用&#xff1f;这个网站已…

还在为PPT烦恼?有了这四大高质量的PPT模板网站,1秒做出精美PPT

现在越来越多人会使用到PPT&#xff0c;但是很多人却不是很会做PPT&#xff0c;做出来的效果也是差强人意。今天小编将推荐五个有着超高质量的PPT模板网站&#xff0c;帮我们快速完成PPT制作&#xff01; 一、优品PPT 这是一个有情怀的PPT模板网站&#xff0c;拥有非常多很精美…