1

我是 ASP.NET 的新手

基本上,我有一个用于 Gridview 的格式样式(下面的示例)。这是在 Gridview 内部。每当我在不同的页面中创建另一个 Gridview 时。我将不得不再次复制并粘贴此样式。我想知道是否有另一种方式(如 CSS 类)可以全局保存此代码并在 Gridview 中引用它?

<AlternatingRowStyle ForeColor="Black"  BackColor="#F7F6F3"  VerticalAlign="top" />
        <HeaderStyle BackColor="#B5DAFF" Font-Bold="True" HorizontalAlign="center" />
        <FieldHeaderStyle BackColor="#CCCCCC" Font-Bold="True" ForeColor="Black"  
        Width="20%" HorizontalAlign="Right" />
        <CommandRowStyle BackColor="Green" Font-Bold="True" />
        <PagerStyle BackColor="Gold" ForeColor="White" HorizontalAlign="Center" />    
        <FooterStyle Font-Bold="True" ForeColor="White"  BackColor="Gold" />

谢谢,

4

2 回答 2

1

您可以使用 GridView 的这些属性CssClassPagerStyle-CssClassAlternatingRowStyle-CssClass。然后,您只需使用刚刚应用于 GridView 的类在 .css 文件中全局定义样式。

像这个样本:

<asp:GridView ID="gvCustomres" runat="server"  
    DataSourceID="customresDataSource"   
    AutoGenerateColumns="False"  
    GridLines="None"  
    AllowPaging="true"  
    CssClass="mGrid"  
    PagerStyle-CssClass="pgr"  
    AlternatingRowStyle-CssClass="alt">  
    <Columns>  
        <asp:BoundField DataField="CompanyName" HeaderText="Company Name" />  
        <asp:BoundField DataField="ContactName" HeaderText="Contact Name" />  
        <asp:BoundField DataField="ContactTitle" HeaderText="Contact Title" />  
        <asp:BoundField DataField="Address" HeaderText="Address" />  
        <asp:BoundField DataField="City" HeaderText="City" />  
        <asp:BoundField DataField="Country" HeaderText="Country" />  
    </Columns>  
</asp:GridView>

CSS

.mGrid {   
    width: 100%;   
    background-color: #fff;   
    margin: 5px 0 10px 0;   
    border: solid 1px #525252;   
    border-collapse:collapse;   
}  
.mGrid td {   
    padding: 2px;   
    border: solid 1px #c1c1c1;   
    color: #717171;   
}  
.mGrid th {   
    padding: 4px 2px;   
    color: #fff;   
    background: #424242 url(grd_head.png) repeat-x top;   
    border-left: solid 1px #525252;   
    font-size: 0.9em;   
}  
.mGrid .alt { background: #fcfcfc url(grd_alt.png) repeat-x top; }  
.mGrid .pgr { background: #424242 url(grd_pgr.png) repeat-x top; }  
.mGrid .pgr table { margin: 5px 0; }  
.mGrid .pgr td {   
    border-width: 0;   
    padding: 0 6px;   
    border-left: solid 1px #666;   
    font-weight: bold;   
    color: #fff;   
    line-height: 12px;   
 }     
.mGrid .pgr a { color: #666; text-decoration: none; }  
.mGrid .pgr a:hover { color: #000; text-decoration: none; }

这个链接有完整的细节:ASP.NET GridView makeover using CSS

于 2012-10-16T21:43:43.213 回答
0

在主题中使用 .skin 文件并在 web.config 中添加主题。

当你在皮肤文件中创建你的gridview时,不要包含ID,你可以分配一个皮肤ID,这样你就可以拥有它的多个版本,并且拥有不使用它的gridview

 <system.web>
  <pages styleSheetTheme="ThemeName" />
</system.web>
于 2012-10-16T21:42:09.820 回答