ASP.NET глобально повторно использует один и тот же стиль для Gridview и 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" />

Спасибо,


person Milacay    schedule 16.10.2012    source источник


Ответы (2)


Вы можете использовать следующие свойства GridView: CssClass, PagerStyle-CssClass и AlternatingRowStyle-CssClass. Затем вы просто определяете стили глобально в своем файле .css, используя классы, которые вы только что применили к GridView.

Как этот образец:

<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 с использованием CSS

person Leniel Maccaferri    schedule 16.10.2012
comment
Хороший! Спасибо за помощь. - person Milacay; 17.10.2012

Используйте файл .skin в темах и добавьте тему в web.config.

Когда вы создаете свое представление сетки в файле скина, не включайте идентификатор, вы можете назначить идентификатор скина, чтобы иметь несколько его версий и иметь представления сетки, которые его не используют.

 <system.web>
  <pages styleSheetTheme="ThemeName" />
</system.web>
person AntLaC    schedule 16.10.2012