J'ai le DropDownList suivant dans mon code qui tire dans le mauvais ordre:SelectedIndexChanged pour DropDownList dans le tir ASP.NET dans le mauvais ordre
public class MyWebpart : WebPart
{
private DropDownList dropDown = new DropDownList();
private string selectedValue;
public Webpart()
{
}
protected override void OnInit(EventArgs e)
{
base.OnInit(e);
dropDown.AutoPostBack = true;
dropDown.SelectedIndexChanged += new EventHandler(DropDown_SelectedIndexChanged);
}
protected override void OnLoad(EventArgs e)
{
base.OnLoad(e);
this.EnsureChildControls();
}
protected void DropDown_SelectedIndexChanged(Object sender, EventArgs e)
{
selectedValue - dropDown.SelectedValue;
}
protected void override void CreateChildControls()
{
base.CreateChildControls();
// create some stuff here
}
j'attendais quand le menu déroulant des changements de sélection, DropDown_SelectedIndexChanged sera appelé en premier, mais à la place il passera par tout le cycle de vie allant de OnInit, OnLoad, CreateChildControls, puis DropDown_SelectedIndexChanged.
Ai-je raté quelque chose? Comment puis-je obtenir l'appel DropDown_SelectedIndexChanged en premier?
Qu'est-ce que votre question a à voir avec C#? –
comme le dit Tahbaza, le comportement du cycle de vie ne peut pas être facilement modifié. Peut-être pouvez-vous élucider pourquoi ce cycle de vie est un problème? –