【问题标题】:ASP.NET reuse same style for Gridview and DetailsView globallyASP.NET 为 Gridview 和 DetailsView 全局重用相同的样式
【发布时间】:2012-10-16 21:39:23
【问题描述】:

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

谢谢,

【问题讨论】:

    标签: asp.net css gridview styling detailsview


    【解决方案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

    【讨论】:

    • 不错的一个!感谢您的帮助。
    【解决方案2】:

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

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

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

    【讨论】:

      猜你喜欢
      • 2014-01-05
      • 2021-11-10
      • 1970-01-01
      • 1970-01-01
      • 2011-09-14
      • 1970-01-01
      • 1970-01-01
      • 2013-04-28
      • 2011-03-22
      相关资源
      最近更新 更多