Класс ListView css не применяется
Я пытаюсь применить чередующийся цвет строки к списку.
Я включил css в заголовок страницы aspx на случай, если что-то еще может переопределить его в ссылочной таблице стилей.
Я использовал точно такой же метод в других списках, которые были декларативно написаны на странице aspx, и они отображались, как и ожидалось. Тем не менее, этот просмотр списка связан на странице cs. Он работает отлично, за исключением того, что игнорирует все стили CSS, примененные к классам.
Источник HTML, который он генерирует, показывает, что классы правильно записываются в тег. В качестве второго варианта я пошел по пути AlternatingTemplate, снова классы были успешно записаны в код HTML, но по-прежнему не выполняется рендеринг CSS.
Есть ли что-то, что связывает просмотр списка на странице cs, который переопределяет стили, применяется на странице aspx? Благодарю.
ASPX:
<style>
.EvenRowColor{background-color:#FFF;}
.OddRowColor{background-color: #E9F1F3;}
</style>
<asp:ListView ID="lvOtherAccts" runat="server" ItemPlaceholderID=
"itemPlaceHolder">
<LayoutTemplate>
<table id="ConsumptionData">
<tr>
<th id="Th1" runat="server">
Account
</th>
<th id="Th2" runat="server">
Service Address
</th>
<th id="Th3" runat="server">
City
</th>
<th id="Th4" runat="server">
Last Bill Date
</th>
<th id="Th5" runat="server">
Billed Balance Due
</th>
</tr>
<tr ID="itemPlaceholder" runat="server"></tr>
</table>
</LayoutTemplate>
<ItemTemplate>
<tr class='<%# Convert.ToBoolean(Container.DataItemIndex % 2) ? "OddRowColor" : "EvenRowColor" %>'>
<td>
<asp:Label ID="AcctNbr" runat="server" Text='<%#Eval("acct_nbr")%>' />
</td>
<td>
<asp:Label ID="SvcAddr" align="left" runat="server" Text='<%#Eval("svc_addr")%>' />
</td>
<td>
<asp:Label ID="SvcCity" runat="server" align="left" Text='<%#Eval("svc_city")%>' />
</td>
<td>
<asp:Label ID="BillDate" runat="server" Text='<%#DateTime.Parse(Eval("billing_date").ToString()).ToString("MM/dd/yyyy")%>' />
</td>
<td style="text-align: right; padding-right: 50px;">
<asp:Label ID="Balance" runat="server" Text='<%# Eval("w_bal", "{0:C2}") %>' />
</td>
</tr>
</ItemTemplate>
</asp:ListView>
CS:
String strConnString10 = WebConfigurationManager.ConnectionStrings["billing_webConnectionString"].ConnectionString;
SqlConnection con10 = new SqlConnection(strConnString10);
SqlCommand cmd10 = new SqlCommand("SELECT landlord_nbr, svc_addr, svc_addr2, svc_city, svc_state, svc_zip, acct_nbr, billing_date, w_bal from landlord_info where landlord_nbr='" + ll_num + "'ORDER BY acct_nbr ASC", con10);
cmd10.Parameters.Add("conn_nbr", SqlDbType.VarChar).Value = Session["LLNum"];
cmd10.Connection = con10;
SqlDataAdapter da10 = new SqlDataAdapter(cmd10);
DataTable dtLLAccts = new DataTable();
da10.Fill(dtLLAccts);
lvOtherAccts.DataSource = dtLLAccts;
lvOtherAccts.DataBind();
Фрагмент вывода HTML:
<tr class='EvenRowColor'>
<td>
<span id="ContentPlaceHolderMain_lvOtherAccts_AcctNbr_0">209495000</span>
</td>
<td>
<span id="ContentPlaceHolderMain_lvOtherAccts_SvcAddr_0" align="left">266 SEAVER ST </span>
</td>
<td>
<span id="ContentPlaceHolderMain_lvOtherAccts_SvcCity_0" align="left">ROXBURY </span>
</td>
<td>
<span id="ContentPlaceHolderMain_lvOtherAccts_BillDate_0">07/21/2014</span>
</td>
<td style="text-align: right; padding-right: 50px;">
<span id="ContentPlaceHolderMain_lvOtherAccts_Balance_0">$1,925.68</span>
</td>
</tr>
<tr class='OddRowColor'>
<td>
<span id="ContentPlaceHolderMain_lvOtherAccts_AcctNbr_1">209642001</span>
</td>
<td>
<span id="ContentPlaceHolderMain_lvOtherAccts_SvcAddr_1" align="left">47 NAZING ST </span>
</td>
<td>
<span id="ContentPlaceHolderMain_lvOtherAccts_SvcCity_1" align="left">ROXBURY </span>
</td>
<td>
<span id="ContentPlaceHolderMain_lvOtherAccts_BillDate_1">07/21/2014</span>
</td>
<td style="text-align: right; padding-right: 50px;">
<span id="ContentPlaceHolderMain_lvOtherAccts_Balance_1">$571.06</span>
</td>
</tr>
1 ответ
Попробуйте применить как ниже.
.EvenRowColor td{background-color:#FFF;}
.OddRowColor td{background-color: #E9F1F3;}
Если приведенный выше код не работает, тогда некоторые другие стили перезаписывают ваш. Так что используйте !important
ключевое слово.
.EvenRowColor td{background-color:#FFF !important;}
.OddRowColor td{background-color: #E9F1F3 !important;}