ASP.NET 支持样式对象(Style Object),样式对象可以让使用者设定一些如颜色与字型的外观显示,让某些控件的外观显示更多样化。其使用语法为:
<ASP:控件类别 Id="被程序代码所控制的名称" Runat="SERVER" 样式对象-属性="设定值" />
下列范例简单的设定了日历Web 控件的SelectedDayStyle 对象,这个对象决定了在日历控件上面的日期被点选时,所会显示的样式:
<Html> <Form runat="Server"> <asp:Calendar id="Calendar1" runat="server" SelectedDayStyle-BackColor="#DBDBDB" SelectedDayStyle-ForeColor="Red" SelectedDayStyle-Font-Bold="True" SelectedDayStyle-Font-Name="Arial"/> </Form> </Html>
样式对象总共分为三类,分别为基础样式、TableItem 样式以及DataGridPager 样式;这些样式使用在不同的地方。
在 Web 窗体设计器中设置样式属性
Web 窗体设计器提供了轻松设置样式属性的便捷工具。 在 Web 窗体设计器中设置样式属性 在“设计”视图中,选择要设置样式的控件。 在“属性”窗口中,完成以下操作: vs.net 2003 datagrid 的样式属
 展开样式对象,然后设置该对象的属性。例如,要设置 DataList 控件的 ItemStyle 对象的属性,在“属性”窗口中展开 ItemStyle。 - 或 - 如果控件支持属性生成器(例如 DataList 和 DataGrid 控件),单击“属性”窗口底部的“属性生成器”,打开“属性”对话框。选择“格式”选项,选择“对象”列表中的一个样式对象,然后设置其属性。 设置样式属性 您可以在 .aspx 文件中以两种方式直接设置样式属性。
直接在 .aspx 文件中设置样式属性
使用样式对象名和属性的连字符约定声明样式属性: <asp:Calendar ID="MyCalendar" SelectionMode="DayWeek" runat="server" TitleStyle-Backcolor="#3366ff" TitleStyle-ForeColor="White" /> - 或 - 在您声明适当数据类型的属性元素中声明显式元素: <asp:Calendar id="MyCalendar" SelectionMode="DayWeek" runat="server"> <TitleStyle BackColor="#3366ff" ForeColor="white" /> </asp:Calendar> 注意 如果 Web 窗体设计器无法正确呈现某 Web 服务器控件,它将显示一个灰色框,上面显示文字“创建控件时出错”。这通常意味着该控件的 ASP.NET 语法不正确,例如,如果某 Web 服务器控件元素中缺少 runat="server" 属性,则将显示此错误。指向信息图标 ();此时将显示工具提示,它包含有关该错误的详细信息。
通过编程设置样式属性
您可以通过编程设置控件的样式属性,这样设置允许您有条件地更改控件外观。 通过编程设置样式属性外观 使用以下分层约定指定要设置的样式对象和属性: Control.StyleObject.Property = value 以下示例显示如何设置 Calendar 控件的 DayStyle 对象的 BackColor 属性: ' Visual Basic Calendar1.DayStyle.BackColor = Color.Green
// C# Calendar1.DayStyle.BackColor = Color.Green; 您还可以创建单独的 Style 对象并将其属性值复制或合并为控件上的样式之一。这是将相同样式应用于项目中若干不同列表对象的有效方法。为此,您可以创建一个虚拟的样式表作为 Style 对象,并随后将其应用于一系列控件。 创建样式对象并将其应用到控件 创建 Style 对象的实例并设置其属性: ' Visual Basic Dim s As Style = New Style() s.BackColor = Color.Red
// C# Style s = new Style(); s.BackColor = Color.Red; 使用以下方法之一将 Style 对象分配给控件: CopyFrom 方法应用来自 Style 对象的所有设置,其中包括空设置。 MergeWith 方法只复制已在 Style 对象上设置的属性,略过了没有设置的 Style 属性。此外,MergeWith 方法将不会覆盖任何现有的样式元素。 以下示例显示了使用下列方法之一,如何创建 Style 对象,设置其一个属性,并随后将其应用于两个不同的控件样式对象: ' Visual Basic ' Apply all values in s, including nulls. Calendar1.SelectedDayStyle.CopyFrom(s) ' Apply only values in s that are null in HeaderStyle. DataGrid1.HeaderStyle.MergeWith(s)
// C# // Apply all values in s, including nulls. Calendar1.SelectedDayStyle.CopyFrom(s); // Apply only values in s that are null in HeaderStyle. DataGrid1.HeaderStyle.MergeWith(s);

|