J'ai une page plutôt complexe. La page ASPX charge un contrôle utilisateur qui à son tour charge un contrôle utilisateur enfant.Reliure déroulante et publications - ASP.NET
Parent contrôle
protected override void OnInit(EventArgs e)
{
//Loads child control
}
Dans le contrôle de l'utilisateur de l'enfant, j'utilise le contrôle personnalisé qui hérite de System.Web.UI.HtmlControls.HtmlSelect
ASCX:
<cust:CustDropDownList id="ctlDdl" runat="server"/>
ASCX.CS
protected void Page_Load(object sender, EventArgs e)
{
//Binds CtlDdl here
}
Lorsque l'utilisateur clique sur le bouton Enregistrer, les contrôles obtiennent des contrôles utilisateur rechargés de façon dynamique, mais en sélectionnant la valeur que l'utilisateur a sélectionnée dans la liste déroulante. Je rencontre le problème de la poule et de l'œuf ici.
Je pense que je n'ai besoin de lier le ctlDdl que s'il n'y a pas de publication, mais cela n'a pas pour résultat que le menu déroulant ne soit pas rempli.
Si je lierai à chaque fois, je perds la sélection de l'utilisateur
EDIT: quelqu'un peut répondre à mon commentaire à la réponse de Jonathan? Merci
Vérifiez si vous avez EnableViewState = "false" quelque part. Assurez-vous que c'est vrai. Chargez également votre contrôle après avoir vérifié si (! IsPostBack). –