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

tbo*_*one 4 css asp.net

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

我想默认使用CSS在一个地方定义所有网格视图的外观.

据我所知,这样做的一种方法是通过Visual Studio中的"Skins"....但我记得有一段时间做了一些研究,发现很多人鄙视皮肤并且总是在asp.net中使用普通的CSS项目(虽然我不能完全记住他们的坏事).

所以我的问题是:1)是否有可能使用普通的CSS做全局默认的asp:GridView样式2)使用VS Skins是否有任何优势,或者只是简单的CSS就像使用皮肤一样强大和易于维护?

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

Ben*_*enB 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;     
} 
Run Code Online (Sandbox Code Playgroud)

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

<asp:GridView   ID="GridView1"
                runat="server"
                CssClass="gridview"
                AlternatingRowStyle-CssClass="even">
Run Code Online (Sandbox Code Playgroud)