Кнопка "Ссылка" внутри элемента управления Repeater, как изменить цвет фона / переднего плана элемента, на который нажали?
Я хотел бы показать список дней в неделе (динамический, иногда все дни, иногда только 2-3), а затем пользователь нажмет на день и обновит ту же страницу. Над функциональность достигается с помощью кода ниже.
<asp:Repeater ID="DayList" Runat="server">
<ItemTemplate>
<asp:LinkButton ID="lbDayList" Runat="server" CommandName='<%# DataBinder.Eval (Container.DataItem, "wkdayVal")%>'
OnCommand="lbDayList_click"
DataBinder.Eval(Container.DataItem, "wkday")%>
</asp:LinkButton>
</ItemTemplate>
</asp:Repeater>
Я хочу показать кликаемый день в другом цвете! Пожалуйста, помогите в достижении этой функциональности!
1 ответ
Рассматривали ли вы создание страницы styles.css и использование CssClass=""
атрибут вашего LinkButton?
В вашем файле styles.css у вас будет что-то вроде следующего:
.Visited
{
color: #fff;
background: inherit;
text-decoration: none;
}
Тогда атрибут css вашей кнопки ссылки будет использовать что-то вроде
CssClass="visited"
Вы захотите сделать это на PreRender в вашем репитере, поэтому установите репитер OnPreRender
приписывать Repeater_OnPreRender
, Затем в вашем коде создать такую функцию
protected void Repeater_OnPreRender(object sender, EventArgs e)
{
//get the index of the selected item
//loop through your items colleciton until you find the item with the corresponding index
//find your link button
//set your link button's css attribute.
}
Причина, по которой вы будете выполнять это в PreRender
Этап заключается в том, что в ваш ретранслятор уже загружены данные, а HTML-код, переданный обратно в веб-браузер, еще не создан.
Надеюсь это поможет. GS