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