我正在开发一个相当大的aspx web项目,广泛使用asp:GridViews
我想默认使用CSS在一个地方定义所有网格视图的外观.
据我了解,这样做的一种方法是通过Visual Studio中的“Skins”….但我记得有一段时间做了一些研究,发现很多人鄙视皮肤并且总是在asp.net中使用普通的CSS项目(虽然我不能完全记住他们的坏事).
所以我的问题是:
1)是否可以使用纯CSS执行此全局默认asp:GridView样式
2)使用VS Skins是否有任何优势,或者只是简单的CSS与使用皮肤一样强大且易于维护?
更新:我还要提到GridView有很多独特的样式,比如SelectedRowStyle-BackColor;这对我原来的问题有什么影响吗?如果有人可以发布或链接到任何这样的例子,这将是非常有帮助的.
解决方法
定义样式表并在某处设置这些样式:
@H_502_16@/**
* 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来利用这些:
@H_502_16@<asp:GridView ID="GridView1" runat="server" CssClass="gridview" AlternatingRowStyle-CssClass="even">