2010-12-09 4 views
2
<FooterTemplate> 
    <tr> 
      <td class="menu"> 
      <a href="/Contact.aspx">Pomoč in podpora</a> 
      </td> 
    </tr> 
    <tr> 
      <td> 
      <asp:DropDownList ID="ddlChangeUser" runat="server" CssClass="childrenSelectType" AutoPostBack="True" Visible="false"     OnSelectedIndexChanged="ddlChangeUser_SelectedIndexChanged"> 
      </asp:DropDownList> 
      </td> 
    </tr> 

Как я могу получить управление ddlChangeUser из FooterTemplate ретранслятора.Получить контроль от FooterTemplate ретранслятора

Это не нормально, потому что это не в ItmeTemplate.

DropDownList ddlChangeUser = siteMapAsBulletedList.Items[0].FindControl("ddlChangeUser") as DropDownList; 

ответ

3

Вам необходимо использовать событие ItemDataBound и там проверить нижний колонтитул.

siteMapAsBulletedList.ItemDataBound += new RepeaterItemEventHandler(siteMapAsBulletedList_ItemDataBound); 

... 

void siteMapAsBulletedList_ItemDataBound(object sender, RepeaterItemEventArgs e) 
{ 
    if (e.Item.ItemType == ListItemType.Footer) 
    { 
     DropDownList ddlChangeUser = (DropDownList)e.Item.FindControl("ddlChangeUser"); 
     if (ddlChangeUser != null) { 
        ... 
     } 
    } 
} 
+0

thx для вашего ответа, но нет ли другой возможности получить DropDownList из FooterTemplate? – senzacionale 2010-12-09 12:32:40