Question

Je veux ajouter des options à un dropdownbox sur ma page ASPX du code c # derrière pendant le chargement. Je ne sais pas comment obtenir une référence au contrôle. J'ai quelques c # code qui est déclenché lorsque l'utilisateur change la dropdownbox. Dans ce que je reçois une référence à la liste déroulante avec:

DropDownBox ddb = (DropDownBox)info.Toolbar.ToolbarItems.Find("ID");

Mais cela ne fonctionnera pas si je l'essayer dans

protected void Page_PreRender(object sender, EventArgs e)
    {

sur mes aspx.cs

Qu'est-ce que je manque? Merci.

Était-ce utile?

La solution

Si vous voulez que l'élément sélectionné de la liste déroulante à sélectionner automatiquement à partir de ViewState sur postbacks vous aurez besoin d'avoir tous les éléments dans le menu déroulant au moment où les feux de Page_PreLoad. Pour ce faire, vous voulez mettre votre code Page_Init, à ce stade, les contrôles sont créés, mais viewstate n'a pas encore été injecté dans les.

Jetez un coup d'oeil ici page ASP.NET Vue d'ensemble du cycle de vie pour plus d'informations sur le cycle de vie de la page.

Je vois que votre menu déroulant est dans un conteneur parent, vous devrez peut-être appeler info.EnsureChildControls () avant d'utiliser Find () si elle ne peut pas obtenir une référence à votre contrôle.

Autres conseils

PreRender est vers la fin du cycle de vie de la page. Etes-vous sûr que vous voulez être apporter des changements là-bas? On dirait que vous devriez changer les éléments dans le menu déroulant quand il est d'abord lié ou lorsque sa sélection est modifiée.

http://codebetter.com/blogs/ /images/codebetter_com/raymond.lewallen/89/o_aspNet_Page_LifeCycle.jpg

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top