ASP.NET编程:ASP.NET 2.0主题和皮肤完成网站丑化
我也不知道,我原来理解的,NET就是C++编程,只是与JAVA相对,呵呵。以为.ET就是高级C++编程。asp.net 主题和表面是ASP.NET2.0中的新增功效,利用ASP.NET2.0的“主题和表面”功效,能够将款式和结构信息分化为独自的文件组,统称为“主题”。然后,主题可使用于任何站点,影响站点中页和控件的表面。如许,经由过程变动主题便可轻松地保护对站点的款式变动,而无需对站点各页举行编纂。还可与其他开辟职员共享主题。使用ASP.NET2.0的“主题和表面”功效轻松完成对网站美妙的把持。ASP.NET供应了一些可在使用程序中对页和控件的表面或款式举行自界说的功效。控件撑持Style工具模子,用于设置字体、边框、背景致和远景色、宽度、高度等款式属性。控件还完整撑持可将款式设置与控件属性分别的级联款式表(CSS)。能够将款式信息界说为控件属性或CSS,也能够在名为Theme的独自文件组中界说此信息,以便使用于使用程序的全体或部分页。各控件款式在主题中被指定为Skin。
“主题”,它供应了一种浅易体例,能够自力于使用程序的页为站点中的控件和页界说款式设置。多个主题的长处在于,计划站点时能够不思索款式,今后使用款式时也无需更新页或使用程序代码。别的,还能够从内部源取得自界说主题,以便将款式设置使用于使用程序。一个主题的长处在于,款式设置存储在一个地位,能够自力于使用该主题的使用程序来保护这些设置。
上面的示例演示的页具有统一个主题,使用该主题指定控件款式设置。注重,该页自己其实不必要包括任何款式信息。在运转时该主题主动将款式属性使用于该页的控件。
新建一个Web项目,点击“增加新项”,选择“主题表面”并定名为“Button.skin”,点击“增加”按扭,如所示
当单击“增加”按扭今后会弹出以下对话框问你是不是将主题文件增加到“App_Themes”文件夹,在使用程序中,主题文件必需存储在根目次的App_Themes文件夹下,主题由此文件夹下的定名子目次构成,该子目次包括一个或多个具有.skin扩大名的表面文件的汇合。主题还能够包括一个CSS文件和/或图象等静态文件的子目次。我们单击“是”,如许就为Web增加一个名为“Button”的主题。如
我们能够看到在App_Themes文件夹下有一个所创立的主题Button,在Button文件夹下有一个Button.skin文件,这就是我们增加的主题文件,双击Button.skin文件,为其增加皮肤设置代码。
代码以下:
<asp:Buttonrunat="server"BorderColor="yellow"BackColor="yellow"BorderStyle="dotted"/>
<asp:Buttonrunat="server"BorderColor="blue"BackColor="white"SkinID="Blue"/>
<asp:Buttonrunat="server"BorderColor="red"BackColor="red"Width="150"BorderWidth="2px"SkinID="red"/>
从代码中我们能够看到,我们为Button控件设置了三个皮肤主题,<asp:Buttonrunat="server"BorderColor="yellow"BackColor="yellow"BorderStyle="dotted"/>,这是默许的皮肤,在Web页面中我们利用Button控件时的默许设置,<asp:Buttonrunat="server"BorderColor="blue"BackColor="white"SkinID="Blue"/>,<asp:Buttonrunat="server"BorderColor="red"BackColor="red"Width="150"BorderWidth="2px"SkinID="red"/>设置了SkinID分离为Blue和red的主题皮肤。
从上一个示例中能够注重到,表面文件的内容只不外是控件界说(假如这些界说呈现在页面中)。一个表面文件能够包括多个控件界说,比方,每种控件范例一个界说。在主题中界说的控件属性主动重写使用了主题的方针页中统一范例的控件的当地属性值。
<P> 主题可位于使用程序级或盘算机级(全局合用于一切使用程序)。如上所述,使用程序级主题放在使用程序根目次下的App_Themes目次中。全局主题放在ASP.NET安装目次下ASP.NETClientFiles文件夹下的“Themes”目次中,比方%WINDIR%Microsoft.NETFramework<version>ASP.NETClientFilesThemes。关于IIS网站,全局主题的地位是Inetpubwwwrootaspnet_clientsystem_web<version>Themes。
我们设置好使用主题后,那末怎样为页指定主题呢?我们在页面中增加4个Button按扭,设置如
代码以下:
<%@PageLanguage="C#"AutoEventWireup="true"Theme="Button"CodeFile="Default.aspx.cs"Inherits="_Default"%>
<!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<htmlxmlns="http://www.w3.org/1999/xhtml">
<headrunat="server">
<title>无题目页</title>
</head>
<body>
<formid="form1"runat="server">
<div>
<asp:ButtonID="Button1"runat="server"Text="Button"/>
默许皮肤的Button控件<br/>
<br/>
<br/>
<asp:ButtonID="Button2"runat="server"Text="Button"SkinID="Blue"/>
定名皮肤SkinID="Blue"的Button控件<br/>
<br/>
<br/>
<asp:ButtonID="Button3"runat="server"Text="Button"SkinID="red"/>
定名皮肤SkinID="red"的Button控件<br/>
<br/>
<br/>
<asp:ButtonID="Button4"runat="server"BackColor="DarkOrange"BorderColor="#C000C0"
ForeColor="Yellow"Text="Button"Width="174px"EnableTheming="False"/>
禁用主题的Button控件<br/>
</div>
</form>
</body>
</html>
如上所示,经由过程将<%@Page"Theme="Button"%>指令设置为全局主题或使用程序级主题的称号(Themes或App_Themes目次下的文件夹的称号),可为单个页指定主题。一页只能使用一个主题,但该主题中能够有多个表面文件,用于将款式设置使用于该页中的控件。如许Button.skin中设置的属性就使用到页面中。也可经由过程在Web.config中指定<pagestheme="..."/>节,也能够为使用程序中的一切页界说使用的主题。若要对特定页作废设置此主题,能够将Page指令的Theme属性设置为空字符串("")。请注重,母版页不克不及使用主题。
<P> 在页面中有4个Button按扭,个中前三个使用了Button.skin文件中设置的主题,Button1控件使用了Button.skin中设定的默许皮肤;Button2控件使用了Button.skin中SkinID为Blue的定名皮肤;Button3控件使用了Button.skin中SkinID为Blue的定名皮肤,为控件指定皮肤主题也很复杂,只需指定响应的SkinID属性,进
默许情形下,表面文件中的控件界说使用于受主题影响的使用程序的页中统一范例的一切控件。可是,您大概但愿统一范例的控件在使用程序中不利用表面。比方,您大概但愿Button4控件不利用Button.skin文件中设置的主题。那末我们也能够对控件禁用主题在示例中Button4按扭经由过程将EnableTheming属性设置为false,可将特定控件扫除在主题以外,<asp:ButtonID="Button4"runat="server"BackColor="DarkOrange"BorderColor="#C000C0"ForeColor="Yellow"Text="Button"Width="174px"EnableTheming="False"/>。
运转这个程序,如
那做企业软件是不是最好用J2EE? 比如封装性、继承性、多态性等等,这就解决了刚才谈到的ASP的那些弱点。封装性使得代码逻辑清晰,易于管理,并且应用到ASP.Net上就可以使业务逻辑和Html页面分离,这样无论页面原型如何改变。 这也就是最近几年来随着各种新的后台技术的诞生,CGI应用在Internet上越来越少的原因。CGI方式不适合大访问量的应用。 市场决定一切,我个人从经历上觉得两者至少在很长时间内还是要共存下去,包括C和C++,至少从找工作就看得出来,总不可能大家都像所谓的时尚一样,追捧一门语言并应用它。 有一丝可惜的是,这个系列太强了,Java阵营的朋友根本就是哑口无言...争论之火瞬间被浇灭,这不是我想这么早就看到的,但是值了。 ASP.Net摆脱了以前ASP使用脚本语言来编程的缺点,理论上可以使用任何编程语言包括C++,VB,JS等等,当然,最合适的编程语言还是MS为.NetFrmaework专门推出的C(读csharp)。 ASP.NET可以无缝地与WYSIWYGHTML编辑器和其他编程工具(包括MicrosoftVisualStudio.NET)一起工作。这不仅使得Web开发更加方便,而且还能提供这些工具必须提供的所有优点,包括开发人员可以用来将服务器控件拖放到Web页的GUI和完全集成的调试支持。微软为ASP.net设计了这样一些策略:易于写出结构清晰的代码、代码易于重用和共享、可用编译类语言编写等等,目的是让程序员更容易开发出Web应用,满足计算向Web转移的战略需要。 当然我们在选择Asp.net主机是,除了要考虑服务提供商在版本是否是实时更新以外,机房的环境和配置也是非常重要的,通常选择骨干网的机房,在速度和稳定性上会非常有保证。 asp.net最主要特性包括:◆编程代码更简洁◆网站可实现的功能更强大◆运行效率高◆节省服务器的动作资源
页:
[1]