Как добавить атрибут к элементу повторителя во время выполнения?

У меня есть повторитель, и я хочу добавить к его элементам атрибут наведения мыши.

Можно ли добавлять атрибуты во время выполнения, если да, то как?


person Ram Singh    schedule 01.11.2011    source источник


Ответы (1)


Разметка:

<asp:Repeater ID="Repeater1" runat="server" OnItemDataBound="Repeater1_ItemDataBound">
     <HeaderTemplate>
          <table>
     </HeaderTemplate>
     <ItemTemplate>
          <tr runat="server" id="itemRow">
               <td>
                    <%# Container.DataItem.ToString() %>
               </td>
          </tr>
     </ItemTemplate>
     <FooterTemplate>
          </table>
     </FooterTemplate>
</asp:Repeater>

Код:

protected void Repeater1_ItemDataBound(object sender, RepeaterItemEventArgs e)
{
    var row = e.Item.FindControl("itemRow") as HtmlTableRow;
    if (row != null)
    {
        row.Attributes["onmouseover"] = string.Format("alert('Hello from row #{0}');", e.Item.ItemIndex );
    }
}
person Yuriy Rozhovetskiy    schedule 01.11.2011
comment
Спасибо, сэр. Я потерял 12 очков, чтобы получить этот ответ. лолз .. еще раз спасибо. - person Ram Singh; 01.11.2011
comment
Как этот может работать? FindControl возвращает только 1 элемент управления. И мы не должны использовать один и тот же идентификатор для нескольких элементов. Вместо этого мы можем напрямую установить атрибут HTML: onmouseover=‹% ... %› - person Hp93; 02.01.2016