使用纯CSS(不使用VS Skins)为asp:GridView定义全局网站样式

时间:2009-03-03 18:23:22

标签: asp.net css

我正在开发一个相当大的aspx web项目,广泛使用asp:GridViews

默认情况下,我想使用CSS在一个地方定义所有网格视图的外观。

据我了解,这样做的一种方法是通过Visual Studio中的“Skins”....但我记得有一段时间做了一些研究,发现许多人鄙视皮肤并总是只使用简单的CSS asp.net项目(虽然我不能完全记住它们的坏处)。

所以我的问题是: 1)是否可以使用纯CSS执行此全局默认asp:GridView样式 2)使用VS Skins是否有任何优势,或者只是简单的CSS与使用皮肤一样强大且易于维护?

更新:我还要提到GridView有很多独特的样式,比如SelectedRowStyle-BackColor;这对我原来的问题有什么影响吗?如果有人可以发布或链接到任何这样的例子,那将非常有帮助。

3 个答案:

答案 0 :(得分:15)

定义样式表并在某处设置这些样式:

/**
 * GRIDVIEW STYLES
 **/
.gridview {
        font-family:"arial";
        background-color:#FFFFFF;
        width: 100%;
        font-size: small;
}
.gridview th {
        background: #7AC142;
        padding: 5px;
        font-size:small;

}
.gridview th a{
        color: #003300;
        text-decoration: none;
}
.gridview th a:hover{
        color: #003300;
        text-decoration: underline;
}
.gridview td  {
        background: #D9EDC9;
        color: #333333;
        font: small "arial";
        padding: 4px;
}
.gridview tr.even td {
        background: #FFFFFF;
}
.gridview td a{
        color: #003300;
        font: bold small "arial";
        padding: 2px;
        text-decoration: none;
}
.gridview td a:hover {
        color: red;
        font-weight: bold;
        text-decoration:underline;     
} 

然后需要设置gridview以利用这些使用CssClass和AlternatingRowStyle-CssClass:

<asp:GridView   ID="GridView1"
                runat="server"
                CssClass="gridview"
                AlternatingRowStyle-CssClass="even">

答案 1 :(得分:1)

您可能想要使用css友好适配器,这将从gridview获得更清晰的html。 只需查看html输出,并通常使用css样式。如果您发现需要在gridview上定义某些内容,则可以使用全局外观来指定css类,以便您也可以设置样式。

答案 2 :(得分:0)

Gridview将呈现为HTML表格。你可以为它分配一个类,并像任何其他表一样设置样式。我对VS Skins了解不多,但我用这种方式设计了很多网格视图。