Обновление ImageUrl изображения в повторителе - PullRequest
3 голосов
/ 27 мая 2010

Я надеюсь, что кто-то может мне помочь. Боюсь, это довольно новенький вопрос. У меня есть изображение внутри повторителя, и я хотел бы изменить его IMAGEURL на основе переданного ему параметра.

<asp:Repeater ID="Repeater" runat="server">
     <HeaderTemplate>
         <asp:Image ID="imgType" runat="server" />   
     </HeaderTemplate>         
     <ItemTemplate>     
         <%# Eval("DisplayName")%>            
     </ItemTemplate>
     <SeparatorTemplate>
         <hr />
     </SeparatorTemplate>
 </asp:Repeater>

В коде есть оператор SWITCH, который изменяет IMAGEURL в зависимости от того, что ему передается. Однако неизбежно, что идентификатор изображений («imgType») не виден оператору SWITCH (предположительно, потому что он находится внутри REPEATER).

Буду очень признателен за любые предложения по наилучшему способу реализации этого.

Извините за такой вопрос новичка.

1 Ответ

2 голосов
/ 27 мая 2010

Вы можете посмотреть здесь для получения информации о поиске элементов управления в верхнем и нижнем колонтитуле ретранслятора, но это должно подвести итог:

// Get control from <HeaderTemplate>
Image imgTypeControl = (Image)myRepeater.Controls[0].Controls[0].FindControl("imgType");

// Get control from <FooterTemplate>
Image imgTypeControl = (Image)myRepeater.Controls[myRepeater-Controls.Count - 1].Controls[0].FindControl("imgType");
...