欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費電子書(shū)等14項超值服

開(kāi)通VIP
創(chuàng )建可供用戶(hù)選擇的主題
主題是ASP.NET 2.0中的新功能,能夠對網(wǎng)頁(yè)外觀(guān)進(jìn)行更多的控制。主題可以定義顏色配置、字體名稱(chēng)、字體大小和樣式、甚至是圖片(是方角還是圓角,或者使用不同的顏色和陰影)。ASP.NET 2.0中增加了對"skin"的支持,這是對CSS想法的一種擴展。每個(gè)用戶(hù)都可以從列表中選擇一個(gè)主題,所選的主題決定了該用戶(hù)會(huì )話(huà)期間網(wǎng)頁(yè)的外觀(guān)格式設置(稱(chēng)為"skin"),相對CSS樣式表來(lái)說(shuō),skin是在服務(wù)器端的。skin文件與CSS文件類(lèi)似,但與CSS不同的是,skin能夠把頁(yè)面中服務(wù)器端控件顯式設置的外觀(guān)屬性值覆蓋掉(全局CSS無(wú)法覆蓋單獨控件上的設置)??梢杂弥黝}來(lái)保存不同版本的圖片,這樣如果想擁有幾套在當前skin基礎上使用不同顏色配置的圖片,這就能用到主題。然而,主題不能替代CSS,可以將CSS文件和skin文件結合起來(lái)使用實(shí)現靈活控制。至于樣式表文件,在A(yíng)SP.NET 2.0中沒(méi)有什么創(chuàng )新,除了允許為一些新控件指定其CssClass屬性外,還增加了一些可視化設計器支持的控件,以便能夠為它們選擇預定義的CSS樣式。
主題是存放在網(wǎng)站App_Themes文件夾中子文件夾下的一組文件,包含以下項目:
CSS樣式表文件,其中包含了對HTML對象外觀(guān)的定義。
skin文件--這些文件定義了ASP.NET服務(wù)器端控件的外觀(guān),可以認為Skin文件是服務(wù)器端的樣式表文件。
其他資源,例如圖片。
ASP.NET 2.0在實(shí)現主題的方法上有個(gè)很酷的地方:當在頁(yè)面上應用主題時(shí),ASP.NET在運行時(shí)會(huì )自動(dòng)為每個(gè)頁(yè)面添加一個(gè)<link>元標記,用來(lái)鏈接主題文件夾中的各個(gè)CSS文件。這樣很方便,因為對已存在的CSS文件重命名,或者增加新的CSS文件,頁(yè)面仍然能夠自動(dòng)地鏈接它們。這個(gè)功能尤其重要,因為能夠實(shí)現在運行時(shí)動(dòng)態(tài)更換主題(就像更換模板頁(yè)面)的功能,ASP.NET會(huì )對新主題文件夾中的文件進(jìn)行鏈接,這樣網(wǎng)站的外觀(guān)就得以改變,從而適合不同用戶(hù)的喜好。如果沒(méi)有這個(gè)機制,就需要根據瀏覽者所選的主題為每一個(gè)頁(yè)面手工創(chuàng )建<link>元標記,這是非常困難的。
在主題這一類(lèi)功能中最好的是服務(wù)器端樣式表,稱(chēng)為skin文件。它們的擴展名為.skin,包括了對ASP.NET控件的聲明,如下所示:
<asp:TextBox runat="server" BorderStyle="Dashed" BorderWidth="1px" />
除了在skin中聲明時(shí)不需要指定控件的ID外,所有在.aspx頁(yè)面中的聲明都是需要指定控件ID的。當在頁(yè)面上應用skin文件后,頁(yè)面上的控件就采用skin文件中所指定的外觀(guān)樣式。對于TextBox控件來(lái)說(shuō)這似乎沒(méi)有什么優(yōu)勢,因為也可以在CSS樣式表文件中為<input>定義一個(gè)樣式類(lèi)。然而,很多復雜控件都不能這樣處理,例如Calendar、DataGrid (或者新的GridView 控件)等,這就要花費很多精力了,因為這些控件之間無(wú)法用一個(gè)HTML元素聯(lián)系起來(lái),因此不能輕易地在樣式表文件中通過(guò)單個(gè)類(lèi)為它們定義樣式。
注意:
可以用單獨的.skin文件來(lái)存放對任何控件類(lèi)型的定義,也可以為每種控件類(lèi)型創(chuàng )建單獨的.skin文件,例如TextBox.skin、DataGrid.skin和Canlendar.skin等,在運行時(shí),這些文件會(huì )在內存中合并起來(lái)。這取決于開(kāi)發(fā)人員更喜歡哪種方式。
對某一頁(yè)面應用主題,需要使用@Page指令中的Theme屬性:
<%@ Page Language="C#" Theme="NiceTheme"
MasterPageFile="~/MasterPage.master" ... %>
對所有頁(yè)面應用某個(gè)主題,就需要對web.config中<pages>元素的theme 屬性進(jìn)行設置,如下所示:
<pages theme="NiceTheme" masterPageFile="~/MasterPage.master" />
對于模板頁(yè)面,也可以通過(guò)編程來(lái)改變主題,在Page 類(lèi)的PreInit事件中編寫(xiě)代碼。例如,下面展示了如何應用一個(gè)主題,主題的名稱(chēng)存放在一個(gè)Session 變量中:
protected void Page_PreInit(object sender, EventArgs e)
{
if (this.Session["CurrentTheme"] != null)
this.Theme = this.Session["CurrentTheme"];
}
在第4章中,將對這種機制進(jìn)行改進(jìn),使用新的Profile屬性來(lái)代替使用Session變量。
在使用@Page指令(或者是web.config)的Theme 屬性時(shí),skin文件中定義的屬性值會(huì )將.aspx文件中指定的值覆蓋掉。如果想讓主題也能像CSS樣式表那樣工作,也就是說(shuō),對于特定的控件,在.skin文件中定義的樣式可以在.aspx頁(yè)面中重新進(jìn)行指定,這樣就只能在@Page指令中設置StylesheetTheme屬性為一個(gè)主題?;蛘呤窃O置web.config文件中<pages> 元素的styleSheetTheme屬性為一個(gè)主題,請不要將Theme屬性與StylesheetTheme屬性混淆。
到此為止,已經(jīng)介紹了未命名的(unnamed)skin--能為同一類(lèi)型的所有控件定義外觀(guān)的skin。然而,有時(shí)需要讓某個(gè)控件的外觀(guān)與skin文件中所定義的不同,這時(shí),可以采用以下三種方法:
1. 前面已經(jīng)提到過(guò),可以通過(guò)StylesheetTheme屬性應用一個(gè)主題(不是Theme 屬性),這樣在.aspx文件中設置的視覺(jué)屬性會(huì )將skin文件中定義的覆蓋掉。然而主題機制的默認行為是確保同一類(lèi)型的所有控件有同樣的外觀(guān),因為當有多個(gè)頁(yè)面開(kāi)發(fā)人員時(shí),不能確保每個(gè)開(kāi)發(fā)人員是否在嚴格要求下才會(huì )在.aspx頁(yè)面中使用特性。
2. 只對該控件禁用主題,然后像正常情況一樣為它設置外觀(guān),如以下代碼所示:
<asp:TextBox runat="server" ID="btnSubmit" EnableTheming="False"
BorderStyle="Dotted" BorderWidth="2px" />
3. 為控件使用已命名的skin,即使用SkinID屬性來(lái)引用一個(gè)定義好的skin,如下所示:
<asp:Label runat="server" SkinID="FeedbackOK" ForeColor="green" />
<asp:Label runat="server" SkinID="FeedbackKO" ForeColor="red" />
當聲明控件時(shí),需要為它的SkinID 屬性設置一個(gè)相匹配的值,如下所示:
<asp:Label runat="server" ID="lblFeedbackOK"
Text="Your message has been successfully sent."
SkinID="FeedbackOK" Visible="false" /><asp:Label runat="server" ID="lblFeedbackKO"
Text="Sorry, there was a problem sending your message."
SkinID="FeedbackKO" Visible="false" />
我認為這是最好的可行辦法,因為它允許為同一個(gè)控件類(lèi)型定義多個(gè)外觀(guān),且都放在一個(gè)單獨文件中,然后可以應用在任何頁(yè)面中。另外,如果保持所有格式定義在skin文件中而不是定義在頁(yè)面本身,就可以完全通過(guò)切換當前主題來(lái)改變網(wǎng)站的外觀(guān)(這就是設計主題的目的所在)。否則,使用硬編碼樣式,是不可能完全實(shí)現的。
在本章"解決方案"部分將使用主題為模板頁(yè)面創(chuàng )建一些不同的外觀(guān)。
本站僅提供存儲服務(wù),所有內容均由用戶(hù)發(fā)布,如發(fā)現有害或侵權內容,請點(diǎn)擊舉報。
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
ASP.NET 主題(Themes)FAQ - 自由、創(chuàng )新、研究、探索 - 博客園
在A(yíng)SP.NET 2.0中使用樣式、主題和皮膚
一些網(wǎng)頁(yè)設計師面試試題及參考答案
ASP.NET2.0中themes、Skins輕松實(shí)現網(wǎng)站換膚! - BearRui(AK...
ASP.NET 2.0 中的 Theme 功能。 - MaxFree's Tech Sp...
Asp.net的常用服務(wù)器控件屬性詳解 - 免費建站|免費空間|網(wǎng)站運營(yíng)|網(wǎng)站優(yōu)化-山寨站...
更多類(lèi)似文章 >>
生活服務(wù)
分享 收藏 導長(cháng)圖 關(guān)注 下載文章
綁定賬號成功
后續可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服

欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久