ASP.NET在全局范围内为Gridview和DetailsView重用相同的样式

时间:2012-10-16 21:39:23

标签: asp.net css gridview styling detailsview

我是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" />

谢谢,

2 个答案:

答案 0 :(得分: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

答案 1 :(得分:0)

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

在皮肤文件中创建gridview时,不要包含ID,您可以指定一个皮肤ID,这样您就可以拥有它的多个版本,并且具有不使用它的网格视图

 <system.web>
  <pages styleSheetTheme="ThemeName" />
</system.web>