J'ai un problème étrange concernant les contrôles dynamiquement chargés dans une application asp.net.les contrôles dynamiquement chargés perdent des valeurs (ASP.NET)
Il y a donc un contrôle où l'utilisateur doit sélectionner certains éléments et/ou faire de la saisie de texte (zones de texte). Le contrôle dépend d'un seul élément de liste déroulante.
Donc l'utilisateur A choisit une certaine valeur dans cette liste déroulante "controlselector" -> on de nombreux contrôles seront chargés. Après cela, l'utilisateur clique sur enregistrer, puis il devrait l'enregistrer dans la base de données.
Le problème est que tous les éléments ne sont pas enregistrés dans la base de données.
Je crée et recréer le contrôle à chaque Page_Load, j'ai retourné autopost sur le "controlselector" mais le contrôle se charge à l'événement page_load. Lorsque vous essayez de sauvegarder les éléments sont vides, mais pas tous les articles :(
MyCustomControl:
FillElements(someParameter)
{
//fill some lists, dropdowns, checkboxes or whatever with some values from db
}
Foo Save()
{
//Save selected input(also some textboxes)
//and return an object
return foo;
}
Page:
Page_Load()
{
PlaceHolder.Clear();
//with Createpath the path to the control is created and loaded
PlaceHolder.Controls.Add(LoadControl(CreatePath(Selector.SelectedValue)));
//some methods are started to fill some lists in the control
((MyCustomControl)PlaceHolder.Controls[0]).FillElements(someParameter);
}
Save_Button_Click()
{
var myFoo = ((MyCustomControl)PlaceHolder.Controls[0]).Save();
myFoo.DoSomethingElse();
}
il semble que, parfois, la page se souvient des valeurs et parfois pas ... ver étrange tout
grâce
[EDIT ] le problème que je vois, il y a deux temps une action de remplissage dynamique. 1.) de décider qui et le chargement puis le contrôle personnalisé 2.) remplissant le contrôle personnalisé avec les paramètres
avez-vous viewstate activé sur tous les contrôles dans votre UserControl? ViewState est-il activé sur le reste de la page et le UserControl lui-même dans son ensemble? – Fooberichu
oui j'ai viewstate activé sur le usercontrol ... – nWorx