Кнопка "Ссылка" внутри элемента управления 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

Другие вопросы по тегам