在ASP.NET 2.0中使用樣式、主題和皮膚_ASP教程
推薦:cookie和session機制之間的區別與聯系具體來說cookie機制采用的是在客戶端保持狀態的方案。它是在用戶端的會話狀態的存貯機制,他需要用戶打開客戶端的cookie支持。cookie的作用就是為了解決HTTP協議無狀態的缺陷所作的努力。 而s
ASP.net2.0的主題和皮膚特性使你能夠把樣式和布局信息存放到一組獨立的文件中,總稱為主題(Theme)。接下來我們可以把這個主題應用到任何站點,用于改變該站點內的頁面和控件的外觀和感覺。通過改變主題的內容,而不用改變站點的單個頁面,就可以輕易地改變站點的樣式。主題也可以在開發者之間共享。
ASP.NET包含了大量的用于定制應用程序的頁面和控件的外觀和感覺的特性。控件支持使用Style(樣式)對象模型來設置格式屬性(例如字體、邊框、背景和前景顏色、寬度、高度等等)。控件也支持使用樣式表(CSS)來單獨設置控件的樣式。你可以用控件屬性或CSS來定義控件的樣式信息,或者把這些定義信息存放到單獨的一組文件中(稱為主題),然后把它應用到程序的所有或部分頁面上。單獨的控件樣式是用主題的皮膚(Skin)屬性來指定的。
本文用大量的示例演示了在ASP.NET 2.0中如何使用樣式、主題和皮膚特性。
給控件應用樣式
Web用戶界面是非常靈活的,不同的Web站點的外觀和感覺是截然不同的。目前廣泛采用的樣式表(CSS)在很大程度上就是負責處理Web上遇到的豐富的設計需求的。ASP.NET的HTML服務器控件和Web服務器控件都被設計成優先支持CSS樣式表。這一部分討論如何在服務器控件上使用樣式,并演示了它們所提供的Web窗體的外觀和感覺的非常細微的控制。
給HTML控件應用樣式
標準的HTML標記通過style屬性來支持CSS,我們可以用分號隔離的屬性/值對(pair)來設置它。所有的ASP.NET HTML服務器控件都可以采用標準HTML標記的方式來接受樣式。下面的例子演示了大量的應用到HTML服務器控件的樣式。在源代碼中你可以看到,這些樣式都是在控件顯示的時候傳遞給瀏覽器的。
以下是引用片段:
以下為引用的內容: <span style="font: 12pt verdana; color:orange;font-weight:700" runat="server"> This is some literal text inside a styled span control</span> <p><font face="verdana"><h4>Styled Button</h4></font><p> <button style="font: 8pt verdana;background-color:lightgreen;border-color:black;width:100" runat="server">Click me!</button> |
CSS還定義了class屬性,你可以把它設置為文檔中<style>...</style>內包含的CSS樣式定義。Class屬性使你能夠一次定義樣式,在多個服務器標記上使用,避免了樣式的重復定義。HTML服務器控件的style屬性可以用這種方式來設置,如下所示:
以下是引用片段:
以下為引用的內容: <style> .spanstyle { font: 12pt verdana; font-weight:700; color:orange; } .buttonstyle { font: 8pt verdana; background-color:lightgreen; border-color:black; width:100 } …… </style> <span class="spanstyle" runat="server"> This is some literal text inside a styled span control </span> <p><font face="verdana"><h4>Styled Button</h4></font><p> <button class="buttonstyle" runat="server">Click me!</button> |
在分析ASP.NET頁面的時候,在System.Web.UI.HtmlControls.HtmlControl類中,樣式信息被填充到CssStyleCollection類型的Style屬性。這個屬性本質上是一個字典,它把控件的樣式暴露為每個樣式屬性鍵的按字符串索引的值集合。例如,你可以使用下面的代碼設置和檢索HtmlInputText服務器控件的width樣式屬性:
以下是引用片段:
以下為引用的內容: <script language="VB" runat="server" > Sub Page_Load(Sender As Object, E As EventArgs) MyText.Style("width") = "90px" Response.Write(MyText.Style("width")) End Sub </script> <input type="text" id="MyText" runat="server"/> |
下面的例子顯示了如何編程使用Style集合屬性來控制HTML服務器控件的樣式:
以下是引用片段:
以下為引用的內容: <script language="VB" runat="server"> Sub Page_Load(Src As Object, E As EventArgs) Message.InnerHtml &= "<h5>Accessing Styles...</h5>" Message.InnerHtml &= "The color of the span is: " &MySpan.Style("color") &"<br>" Message.InnerHtml &= "The width of the textbox is: " &MyText.Style("width") &"<p>" Message.InnerHtml &= "MySelect's style collection is: <br><br>" Dim Keys As IEnumerator Keys = MySelect.Style.Keys.GetEnumerator() Do While (Keys.MoveNext()) Dim Key As String Key = CStr(Keys.Current) Message.InnerHtml &= "<li> " Message.InnerHtml &= Key &"=" &MySelect.Style(Key) &"<br>" Loop End Sub Sub Submit_Click(Src As Object, E As EventArgs) Message.InnerHtml &= "<h5>Modifying Styles...</h5>" MySpan.Style("color") = ColorSelect.Value MyText.Style("width") = "600" Message.InnerHtml &= "The color of the span is: " &MySpan.Style("color") &"<br>" Message.InnerHtml &= "The width of the textbox is: " &MyText.Style("width") End Sub </script> |
分享:ASP實現一行多列顯示方法實例程序好不容易寫了點東西,但由于鼠標太靈敏的緣故,還沒提交網頁就不小心被關了。郁悶了。寫簡單點。 asp一行多列顯示常用的方法是用兩個循環語句控制表格的列數和總記錄數。 今天想到用div來控
- 相關鏈接:
- 教程說明:
ASP教程-在ASP.NET 2.0中使用樣式、主題和皮膚
。