仓酷云
标题:
ASP.NET网页设计ASP.NET教程;一个及格的皮肤机制系统的...
[打印本页]
作者:
谁可相欹
时间:
2015-1-16 22:19
标题:
ASP.NET网页设计ASP.NET教程;一个及格的皮肤机制系统的...
我认为,可以通过更加简单的首次编译,而增加第二次编译的负担,来提高java的运行效率。只是将java源代码进行简单的等价转换,而不假设编译成某种虚拟机器的目标格式,而由本地编译器针对性的二次编译。</p>做一个WEB程序,可以在只管修正少少程序代码的情形下,轻松制订皮肤和切换皮肤,应当都是必要的,谁也不想,在网站界面想要改版的时分,要改一年夜片逻辑代码。
一个及格的皮肤机制系统的完成,应当要做到以下几点:
->页面模板上要少少具有逻辑代码(假如模板上具有大批逻辑代码,那估量这个也不叫作模板了)。
->可以轻松改动页面结构,同时不影响程序代码(.cs)。
->新模板的定制,基础上能由皮肤制造者参依旧模板自行完成,不必要开辟职员太多参与。
->坚持功能。
然后,来看看,都有哪些办法人人用来完成所谓的皮肤机制,同时举行各个办法的一些团体申明。
1.改动页面挪用的CSS文件来换肤。
这一个,严厉下去讲,不该该算作皮肤机制。固然CSS十分壮大,也可以经由过程它来恣意改动页面元素结构,但它的HTML一直是稳定的,以是范围性长短常年夜的。
长处:完整不影响功能,乃至能够完整不由服务端代码来办理它的变更,可使用JS来切换皮肤(由此,在我们有一套完善皮肤机制的情形下,这类办法,能够完整不与此机制抵触,让用户在客户端作更多的本性化)。
弱点:假如作为中心皮肤机制的话,十分有范围性。
示例:如QQ.COM,114LA.COM下面的一些可点击的小色块,就是改动挪用的CSS文件来完成换肤。
2.读取模板文件,交换标识符为要显现的内容与数据输入。
这一个办法的天真性对照高,每套皮肤能够有本人的结构,有本人的本性。
完成:好比模板中有一个标识$Subject,程序代码会把它交换成文章题目,然后有一个标识块<!—Loop[ArticleList]--><h1>$Subject</h1><div>$Content</div><!--/Loop-->,程序代码会把它交换成一个文章列表,最初输入处置完一切标识符的内容。
一般,我们会缓存读取到的模板内容,但字符串的交换一直不成制止,大概也会把交换过的内容也缓存起来,但如许子,就即是要缓存模板内容和交换过的内容,占用了两份仿佛挺反复内容的内存(为何?否则总不应每次数占有改动的时分就往作IO操纵读取操纵读模板文件吧,这仿佛比字符串交换功能更差)。
长处:模板天真水平很高,能够任意修改页面结构。
弱点:影响功能,开辟职员保护难,必需有特定的标识符来暗示页面变量,前期保护大概会带来十分多的成绩。
3.利用ASP.NET的App_Themes。
这一个办法,应当是极差的一个办法,基本只是ASP.NET的一个小纂头,鸡肋,基础上不有用。
完成:好比,定制一个BUTTON的款式是如许子的,<asp:buttonrunat="server"BackColor="lightblue"ForeColor="black"/>,相似如许的代码,存在于.skin文件中。然后它的换肤机制以下,<%@PageLanguage="C#"Theme="default"%>。在App_Themes目次下,是各套皮肤的自力文件夹,各个文件夹包括皮肤的款式和图片文件等等,也能够包括.skin文件。
长处:只要ASP.NET才有
弱点:包括了第一种办法的弱点,.skin的款式定制体例还要严峻依附利用ASP.NET服务端控件,同时也影响功能,天真性也极低。
4.静态载进.ASCX文件(ASP.NET用户控件)利用.master(母版)。
这个办法,应当也是良多利用ASP.NET的人利用的办法,偶然候,它还会与第三种办法分离利用。假如对功能需求不是很严厉的话,中小型项目可使用。
完成:利用LoadControl()静态载进.ASCX文件或(与)指定页面的MasterPageFile(方针皮肤文件夹的)完成(一般.ascx与.master还会分离利用)。
长处:天真性极高,每一个皮肤有自力的结构,间接利用了.CS文件的变量与办法ETC…乃至每套皮肤另有本人自力的代码文件。
弱点:影响功能。有乐趣能够本人往反编译LoadControl办法。同时,在页面要利用<%%>这类代码块,偶然候感到也有点不雅观。
5.Xml+xslt
传说xml代替html是趋向??不分明,不懂得。应当不成能。此种办法我没有深切懂得过,不外也许完成应当是要如许子?每个XML(输入数据)会有一个对应的XSL文件(把持款式)。以下:
xml文件:
<?xmlversion="1.0"encoding="ISO-8859-1"?>
<breakfast_menu>
<food>
<name>BelgianWaffles</name>
<price>$5.95</price>
<description>twoofourfamousBelgianWaffleswithplentyofrealmaplesyrup</description>
<calories>650</calories>
</food>
<food>
<name>Cakes</name>
<price>$1.95</price>
<description>sweetcakes</description>
<calories>2650</calories>
</food>
</breakfast_menu>
xsl文件:
<?xmlversion="1.0"encoding="ISO-8859-1"?>
<htmlxsl:version="1.0"xmlns:xsl="http://www.w3.org/1999/XSL/Transform"xmlns="http://www.w3.org/1999/xhtml">
<bodystyle="font-family:Arial,helvetica,sans-serif;font-size:12pt;background-color:#EEEEEE">
<xsl:for-eachselect="breakfast_menu/food">
<divstyle="background-color:teal;color:white;padding:4px">
<spanstyle="font-weight:bold;color:white">
<xsl:value-ofselect="name"/>
</span>
<xsl:value-ofselect="price"/>
</div>
<divstyle="margin-left:20px;margin-bottom:1em;font-size:10pt">
<xsl:value-ofselect="description"/>
<spanstyle="font-style:italic">
<xsl:value-ofselect="calories"/>
</span>
</div>
</xsl:for-each>
</body>
</html>
如许子做,有甚么优点么,我没有体验到。
6.读取模板文件,天生.aspx文件到每套皮肤的自力文件夹下,经由过程地点重写指定到这些文件夹。
这个办法的最后的效果关于用户来讲,和第二种办法应当是差未几的,长处就是功能对照高,并且还能间接利用.CS代码内里的变量办法ETC…别的,也能够不会有<%%>代码块的存在,能够存在本人的模板言语,好像第二种办法的$Subject,<!—Loop-->标识符一样平常。
长处:几近不影响功能,只要第一次读取天生.ASPX文件必要丧失功能。天真性极高。模板代码可读性也能够完成到很高。
弱点:启动时必要读取剖析工夫(不外,这应当算是小成绩),别的,有一套皮肤,它就要天生与之对应的一套.ASPX文件(固然这个能够办理)。
7.使用ASP.NET2.0入手下手才具有的VirtualPathProvider来完成。
假造文件机制。这个,应当算是第六种办法的增强版。终极的效果,和第六种差未几,只是不会天生那些.ASPX文件罢了,取而代之的,即是长驻在内存中。
完成:完成两个类,一个承继至VirtualPathProvider,一个承继至SkinFile。VirtualPathProvider里有个FileExists办法,重写成判别哀求的路径是不是是皮肤文件路径,假如是,GetFile就实例一个SkinFile(这一个SkinFile,我们会对模板举行处置,能够具有本人的模板言语)。别的有一个GetCacheDependency办法,能够来将模板文件作为假造文件机制的缓存依附文件,一旦模板文件被修正了,它就会再从头剖析模板文件。这里先不作赘述,详细的,检察MSDN的相干文档,具可懂得。
长处:与6不异。
弱点:第一次启动必要丧失功能(但这也不成制止)。
8.另有更多的完成办法,还没用过,团体先不宣布概念,好比:利用BuildProvider,但这一个,必要有对照强的词法剖析与语法剖析才能。
竟发现没有太大的帮助。总觉得要用起来,感觉到不了位。因为公司机器的原因,一直没有安装vs.net(也从来没有用过)。以前做asp的时候一直用DW(感觉其代码联想功能不错),可现在到了asp.net却不习惯了。
作者:
小妖女
时间:
2015-1-19 08:40
ASP.net的服务器,要求安装一个.net环境,当然我这里指的是windows系统,顺便点一下,.net只能放在windows环境里来运行。Asp.net1.1的就装Framework1.1,Asp.net2.0的就装Framework2.0。
作者:
海妖
时间:
2015-1-24 14:19
由于JSP/Servlet都是基于Java的,所以它们也有Java语言的最大优点——平台无关性,也就是所谓的“一次编写,随处运行(WORA–WriteOnce,RunAnywhere)”。除了这个优点,JSP/Servlet的效率以及安全性也是相当惊人的。
作者:
简单生活
时间:
2015-2-1 16:49
可以通过在现有ASP应用程序中逐渐添加ASP.NET功能,随时增强ASP应用程序的功能。ASP.NET是一个已编译的、基于.NET的环境,可以用任何与.NET兼容的语言(包括VisualBasic.NET、C#和JScript.NET.)创作应用程序。另外,任何ASP.NET应用程序都可以使用整个.NETFramework。开发人员可以方便地获得这些技术的优点,其中包括托管的公共语言运行库环境、类型安全、继承等等。
作者:
愤怒的大鸟
时间:
2015-2-7 10:01
Servlet却在响应第一个请求的时候被载入,一旦Servlet被载入,便处于已执行状态。对于以后其他用户的请求,它并不打开进程,而是打开一个线程(Thread),将结果发送给客户。由于线程与线程之间可以通过生成自己的父线程(ParentThread)来实现资源共享,这样就减轻了服务器的负担,所以,JavaServlet可以用来做大规模的应用服务。
作者:
乐观
时间:
2015-2-21 15:31
能产生和执行动态、交互式、高效率的站占服务器的应用程序。运用ASP可将VBscript、javascript等脚本语言嵌入到HTML中,便可快速完成网站的应用程序,无需编译,可在服务器端直接执行。容易编写。
作者:
第二个灵魂
时间:
2015-3-6 20:56
业务逻辑代码都不必做任何改动;继承性和多态性使得代码的可重用性大大提高,你可以通过继承已有的对象最大限度保护你以前的投资。并且C#和C++、Java一样提供了完善的调试/纠错体系。
作者:
活着的死人
时间:
2015-3-13 09:08
我的意思是.net好用,从功能上来说比JAVA强还是很明显的。
作者:
爱飞
时间:
2015-3-20 18:23
asp.net空间的支持有:ASP.NET1.1/虚拟目录/MicrosoftFrontPage2000扩展/CDONTS,同时他的网站上也提供了Asp.net的使用详解和程序源代码,相信对使用ASP.NET编程的程序员来说会非常有用哦!
欢迎光临 仓酷云 (http://ckuyun.com/)
Powered by Discuz! X3.2