Кнопка «Ссылка» внутри элемента управления Repeater, как изменить цвет фона / переднего плана элемента, на который нажали? - PullRequest
0 голосов
/ 16 декабря 2011

Я хотел бы показать список дней в неделе (динамический, иногда все дни, иногда только 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 Ответ

0 голосов
/ 16 декабря 2011

Рассматривали ли вы создание страницы styles.css и использование атрибута CssClass="" вашего LinkButton?

В вашем файле styles.css вы получите что-то вроде следующего:

.Visited
{
    color: #fff;
    background: inherit;
    text-decoration: none;
}

Тогда атрибут css вашей кнопки ссылки будет использовать что-то вроде

CssClass="visited"

Вы захотите сделать это в части PreRender вашего Repeater, поэтому установите атрибут OnPreRender Repeater на 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

...