主题中的内容主要包括 :
- css文件
- 引用的图片
- 控件的基本属性设置 (如Font-Name、
Width
和BackColor
) - 集合属性设置(如TreeView 控件的 LevelStyles 属性或 Menu 控件的 LevelMenuItemStyles、LevelSubMenuItemStyles 或 LevelSelectedStyles 属性。)
- 模版属性(如Login 把这个模版中用到的左右子控件都在主题中统一定义)
- 还可以在主题中直接绑定数据
主题文件(databinding.skin)
<asp:DataList RepeatColumns="2" CellPadding="20" runat="server"> <ItemTemplate> <h3><asp:Label ID="titleLabel" runat="server" Text='<%# Eval("title") %>'/></h3> <table cellpadding="10"> <tr> <td valign="top"> <asp:Image ImageUrl='<%# Eval("title_id", "Images/{0}.gif") %>' runat="server" /> </td> <td valign="top"> <b>ID:</b> <asp:Label ID="title_idLabel" runat="server" Text='<%# Eval("title_id") %>'/><br /> <b>Type:</b> <asp:Label ID="typeLabel" runat="server" Text='<%# Eval("type") %>'/><br /> <b>Price:</b> $ <asp:Label ID="priceLabel" runat="server" Text='<%# Eval("price") %>'/><br /> <asp:TextBox TextMode="MultiLine" Rows="5" Columns="40" ID="notesLabel" Text='<%# Eval("notes") %>' runat="server"/><br /> <br /> </td> </tr> </table> </ItemTemplate> </asp:DataList>
页面文件(ThemeDatabind_cs.aspx)
<%@ Page Language="C#" Theme="MyTheme" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <script runat="server"> </script> <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <title>Data Binding in Themes</title> </head> <body> <form id="form1" runat="server"> <div> <h2>Data Binding in Themes</h2> <asp:DataList DataKeyField="title_id" DataSourceID="SqlDataSource1" ID="DataList1" runat="server" /> <asp:SqlDataSource ConnectionString="<%$ ConnectionStrings:Pubs %>" ID="SqlDataSource1" runat="server" SelectCommand="SELECT [title_id], [title], [type], [price], [notes] FROM [titles]"> </asp:SqlDataSource> </div> </form> </body> </html>