J'ai créé un contrôle utilisateur avec une propriété personnalisée dans asp.net comme suit. Dans la page aspx qui utilise ce contrôle utilisateur, j'ai quelque chose comme ce qui suit. Le contrôle utilisateur est dans un EditItemTemplate de la FormViewliaison de contrôle d'utilisateur asp.net
<uc1:MyControl ID="c1" runat="server" CountryCode='<%# this.DropDownCountry.SelectedValue %>' Value1='<%# Bind("Value1Col") %>' />
Je suis en train d'utiliser la CountryCode
dans la méthode Page_Load
du contrôle de l'utilisateur, mais la valeur n'a pas été peuplée.
Ma question est à quelle étape du cycle de vie du contrôle la valeur bornée est-elle remplie? J'ai essayé d'assigner la valeur directement comme suit et il obtient sa valeur à la méthode Page_Load
.
<uc1:MyControl ID="c1" runat="server" CountryCode="CA" Value1='<%# Bind("Value1Col") %>' />
grâce,
le UC1: MyControl a la propriété suivante:
[Browsable(true)]
[Bindable(true, BindingDirection.TwoWay)]
[DefaultValue(0)]
[PersistenceMode(PersistenceMode.Attribute)]
public string CountryCode
{
get { return _countryCode; }
set { _countryCode = value; }
}
merci, j'aurais dû faire la question plus claire. Le contrôle utilisateur est en fait dans un EditItemTemplate de FormView. Vous ne savez pas comment je peux DataBind the usercontrol dans code-behind quand il est à l'intérieur du modèle item sur l'événement de liaison de données de FormView? – Eatdoku
Là où j'ai une question, c'est à quel stade du cycle de vie d'usercontrol je peux utiliser la valeur bornée en toute sécurité et la changer pour que la liaison bidirectionnelle fonctionne correctement. – Eatdoku