В этот вопрос мне дали действительно крутой ответ на чередование изображения и его описания между левым и правым, соответственно. Теперь я хочу применить стиль к обоим, например. padding-top, padding-bottom и т. д. Как в этом сценарии применить стиль к RowStyle и AlternatingRowStyle.
<AlternatingRowStyle CssClass = "ProductAltItemStyle" />
<RowStyle CssClass = "ProductItemStyle" />
<Columns>
<asp:TemplateField>
<ItemTemplate>
<div class = "Image"><asp:Image runat = "server" ID = "productImage" ImageUrl='<%# Eval("imageUrl") %>' /></div>
<div class = "Description"><asp:Label runat = "server" ID = "lblProductDesc" Width = "100%" Text='<%# Eval("productDesc") %>'></asp:Label></div>
</ItemTemplate>
</asp:TemplateField>





Вот как это сделать:
.ProductAltItemStyle, .ProductItemStyle {
// CSS Rules that apply to both go here
}В качестве альтернативы вы можете сделать это:
<AlternatingRowStyle CssClass = "ProductAltItemStyle ProductCommonStyle" />
<RowStyle CssClass = "ProductItemStyle ProductCommonStyle" />
ProductCommonStyle содержит форматирование, общее как для чередующихся, так и для стандартных строк.
Более того, вы можете назначить стиль для всей вашей сетки и использовать его для определения общих классов:
table.GridViewStyle tr td
{
padding:3px 5px;
border:1px solid gray;
}
tr.ProductAltItemStyle td
{
background:white;
}
tr.ProductItemSTyle td
{
background:silver;
}
Я думаю, что это, вероятно, реальный ответ на этот конкретный вопрос, а не то, что журнал изменений неверен, но я очень верю в CSS, следуя модели OO.
Небольшое дополнение, как прокомментировано по другому вопросу CSS, лично я думаю, что наличие разрыва строки между каждым селектором (и перед "{") является более очевидным читаемым форматом с возможностью поиска. В этом отношении форматирование блоков CSS отличается от C / C# / Java / JavaScript.