2010-12-09 5 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> 

Comment puis-je obtenir le contrôle ddlChangeUser de FooterTemplate du répéteur.Obtenir le contrôle à partir de FooterTemplate du répéteur

Ce n'est pas correct, car il n'est pas dans ItmeTemplate.

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

Répondre

3

Vous devez utiliser l'événement ItemDataBound et vérifier là bas de page.

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 pour votre réponse, mais n'y a-t-il aucune autre possibilité d'obtenir DropDownList de FooterTemplate? – senzacionale

+0

@senzacionale - non, pas autant que je sache. Quel est le problème avec cette approche? –

+0

j'ai besoin d'obtenir un ID dans if (ddlChangeUser! = Null) {mais je ne peux pas l'obtenir alors – senzacionale

Questions connexes