asp.net: set css category control during databind?
a list quarrel generated controlling an asp:repeater:
<asp:repeater id="announcementsrepeater" onitemdatabound="announcementsrepeater_itemdatabound" runat="server">
<itemtemplate>
<tr id="announcementrow" class="announcementitem" runat="server">...</tr>
</itemtemplate>
</asp:repeater>
now data-bind i wish symbol "unread" announcements opposite css class, web-guy perform whatever styling wants compute between review unread announcements:
protected vacant announcementsrepeater_itemdatabound(object sender, repeateritemeventargs e)
{
(e.item.itemtype != listitemtype.item && e.item.itemtype != listitemtype.alternatingitem)
return;
// compared information item
proclamation announcement = (announcement)e.item.dataitem;
webcontrol quarrel = (webcontrol)e.item.findcontrol("announcementrow");
(row != null)
row.cssclass = row.cssclass + " announcementitemunread";
}
except ban fails during runtime:
system.invalidcastexception occurred
message="unable ban vigilant form 'system.web.ui.htmlcontrols.htmltablerow' form 'system.web.ui.webcontrols.webcontrol'."
it turns out htmltablerow
opposite progenitor heirarchy webcontrol
:
htmltablerow
: htmlcontainercontrol
: htmlcontrol
: system.web.ui.control
which eventually where webcontrol comes from
webcontrol
: system.web.ui.control
so i altered formula try system.web.ui.control instead:
control quarrel = (control)e.item.findcontrol("announcementrow");
if (row != null)
row.cssclass = row.cssclass + " announcementitemunread";
but control
doesn't enclose construction cssclass
:
'system.web.ui.control' does enclose construction 'cssclass'
so i set css category name <tr>
component during databind?
Comments
Post a Comment