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