Доступ <LI>класс внутри повторителя - PullRequest
2 голосов
/ 05 апреля 2011

У меня есть повторитель, содержащий ItemTemplate с <li>'s.Мне нужно получить доступ к этому <li> в событии RepeaterProdView__ItemDataBound.

<asp:Repeater ID="RepeaterProdView" runat="server" OnItemDataBound="RepeaterProdView__ItemDataBound">   
<ItemTemplate>
<li id="liProdView" class="prodviewwide" runat="server">
<a href="#" onClick="javascript:swapPicture('../images/products/<%#Eval("option1Other")%>','../images/products/<%#Eval("option1Other2")%>','masterLink')">
<img src="images/products/<%#Eval("option1Desc")%>" height="125" />
</a>
</li>
</ItemTemplate>
</asp:Repeater>

Я хотел бы динамически изменить класс

<li id="liProdView" class="prodviewshort" runat="server">

Ответы [ 2 ]

3 голосов
/ 05 апреля 2011

Вы можете найти элемент управления в ItemDataBound с помощью e.Item.FindControl("liProdView). Я думаю, что это HtmlGenericControl, но я не уверен. Достаточно, если вы приведете его к Web.UI.HtmlControls.HtmlControl и установите его атрибут класса:

liProdView.Attributes.Add("class", "yourClass");
3 голосов
/ 05 апреля 2011

Внутри вашего RepeaterProdView__ItemDataBound метода:

var liProdView = e.Item.FindControl("liProdView") as HtmlGenericControl;

if (liProdView != null)
{
    liProdView.Attributes["class"] = "prodviewshort";
}

Это должно сделать это.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...