ASP.NET网页设计用ASP.NET 2.0主题把持网站表面
在VC.net的版本上,为了让C++运行在.NETFramework中,微软为C++引进了托管,就是托管C++(ManagedC++),这个根本就没有流行起来,自托管C++产生以后就没有收到过好评。asp.net|把持自.NETFramework呈现以来,对网站表面举行把持一向是ASP.NET开辟者的等候。ASP.NET2.0使之成为实际,使用它的主题与皮肤,我们能够对表面举行把持。开辟者常常将主题与母版页面弄混,但这两个元素存在很年夜的分歧。母版页面同意你把持一个网站的整体结构,或网站内的一组页面,但主题次要存眷网站的表面与感到。
在你可以使用ASP.NET2.0主题的一切长处之前,你有需要懂得一些术语与历程。主题可以使用一个称之为皮肤或层叠款式表(CSS)的新计划元素。
懂得皮肤文件
只管在主题中不用使用皮肤,但我仍是想起首先容一下皮肤的观点,由于它是主题中的尺度计划元素。皮肤供应了一种办理收集控件表面的办法。你也能够用它来批量设置一个控件的某些特征。
皮肤的界说包括在皮肤文件(以.skin为文件扩大名)中。在VisualStudio中,你能够选择增添项目>皮肤文件(AddNewItem>SkinFile)来便利地增添皮肤文件。它们是基础的文本文件,因而你还能够使用本人喜好的文本编纂器。
皮肤文件中包括一些控件和它们所使用的属性。我读到的微软的一切文件都倡议为每一个控件范例创建独自的皮肤文件,但你也能够在一个独自的文件中包含数个控件界说,而不会引发成绩。上面的代码是一个样本皮肤文件,它界说了标签与文本框控件的显现色彩。
<asp:Labelrunat="server"BackColor="Red"ForeColor="White"/>
<asp:TextBoxrunat="server"BackColor="Black"ForeColor="Yellow"/>
标签控件将以白色为背景,文本为红色;文件框控件以玄色为背景,文本为黄色。以下是界说皮肤文件控件的几点提醒:
[*]每一个被界说的控件都必要runat="server"属性。
[*]id属性没有包含在内。它是收集控件的一个共同属性,因而只要在网页的控件才被指定。
[*]皮肤文件中只能界说出现(presentation)特征。
你大概想懂得怎样界说统一范例控件的多种格局。这就是skinid属性的感化地点。在皮肤文件中,你能够为一个控件指定一个skinid属性,以此来界说这个控件范例的多种出现格局。
你还能够使用款式(style)属性或内部款式表。微软倡议为分歧的控件创建独自的皮肤文件。比方,你大概想界说一个称为label.skin的文件的标签控件和别的控件的表面。
经由过程主题使用皮肤文件
主题是一个或多个皮肤和/或CSS文件的组合,用来把持ASP.NET网站内控件的表面。构成主题的文件(皮肤与CSS)包括在一个主题文件夹中。
文件夹的称号界说主题的称号(好像页面声明、代码等一样),它是包括在收集使用软件内的特别App_Themes文件夹的一个子文件夹。假如你使用VisualStudio,你就能够在办理计划上右击,并选择增添ASP.NET文件夹再选主题(AddASP.NETFolder>Themes);如许便可主动地增添App_Themes文件夹。你还能够经由过程WindowsExplorer或你喜好的办法来创建App_Themes文件夹。
一个特别主题文件夹中的皮肤和CSS文件包括谁人主题中的一切元素。主题能够经由过程页面唆使的pagetheme属性使用于网页中,就像是如许:
<%@PageLanguage="C#"Theme="TechRepublicTest"%>
主题一旦指明后,皮肤与CSS文件就与谁人页面相连。此时,你就能够为具有不止一个无效界说的控件指定一个skinid属性;假如没有需要,也能够将其疏忽。列表C中的网页使用的是在样本皮肤文件中界说的控件。
在页面级别指定主题是件疾苦的事变,在无数百个页面时更是云云。你也可在使用软件的web.config文件中指定主题。页面元素(位于system.web元素中)包括一个主题属性,它为网站指定默许的主题。
<pagestheme="TechRepublicTest"/>
如许就不用设置页面级主题属性;但你仍能够用它来取代web.config文件中界说的默许主题。
不要搅浑主题与CSS
只管主题与皮肤在良多方面与CSS类似,它们其实不一样。主题可以把持一个收集控件的视觉出现,包含为DataGrid或TreeView控件中的图片指定模板结构。主题与CSS的另外一次要分歧的地方在于:主题中没有层叠。可是,主题中能够包括款式表。并且,主题的特征值老是取代当地特征值。
单一化与一般化
临时以来,开辟社区一向激烈请求公然由主题与皮肤供应的功效,感激ASP.NET2.0做到这一点。固然CSS供应很多格局化的选项,主题则更进一步,个中能够使用CSS文件。下周我们将持续会商主题与母版页面,申明怎样用它们来把持网站。
是不是实质都是API?有的好像不只是API那么简单的,有的也是一种框架就像MFC一样。有的还是一种思想(就是做软件的思想)(好像很深奥,其实我也不懂^_^) 平台无关性是PHP的最大优点,但是在优点的背后,还是有一些小小的缺点的。如果在PHP中不使用ODBC,而用其自带的数据库函数(这样的效率要比使用ODBC高)来连接数据库的话,使用不同的数据库,PHP的函数名不能统一。这样,使得程序的移植变得有些麻烦。不过,作为目前应用最为广泛的一种后台语言,PHP的优点还是异常明显的。 CGI程序在运行的时候,首先是客户向服务器上的CGI程序发送一个请求,服务器接收到客户的请求后,就会打开一个新的Process(进程)来执行CGI程序,处理客户的请求。CGI程序最后将执行的结果(HTML页面代码)传回给客户。 ASP.Net和ASP的最大区别在于编程思维的转换,而不仅仅在于功能的增强。ASP使用VBS/JS这样的脚本语言混合html来编程,而那些脚本语言属于弱类型、面向结构的编程语言,而非面向对象。 那么,ASP.Net有哪些改进呢? 代码逻辑混乱,难于管理:由于ASP是脚本语言混合html编程,所以你很难看清代码的逻辑关系,并且随着程序的复杂性增加,使得代码的管理十分困难,甚至超出一个程序员所能达到的管理能力,从而造成出错或这样那样的问题。 Servlet却在响应第一个请求的时候被载入,一旦Servlet被载入,便处于已执行状态。对于以后其他用户的请求,它并不打开进程,而是打开一个线程(Thread),将结果发送给客户。由于线程与线程之间可以通过生成自己的父线程(ParentThread)来实现资源共享,这样就减轻了服务器的负担,所以,JavaServlet可以用来做大规模的应用服务。 由于CGI程序每响应一个客户就会打开一个新的进程,所以,当有多个用户同时进行CGI请求的时候,服务器就会打开多个进程,这样就加重了服务器的负担,使服务器的执行效率变得越来越低下。 有一丝可惜的是,这个系列太强了,Java阵营的朋友根本就是哑口无言...争论之火瞬间被浇灭,这不是我想这么早就看到的,但是值了。
页:
[1]