La propriété du contrôle utilisateur perd de la valeur après une publication
C'est le HTML. J'ai un répéteur qui contient un contrôle de l'utilisateur.
<asp:Repeater ID="rpNewHire" runat="server">
<HeaderTemplate>
<table>
</HeaderTemplate>
<ItemTemplate>
<tr>
<td>
<user:CKListByDeprtment ID = "ucCheckList"
DepartmentID= '<%# Eval("DepID")%>'
BlockTitle = '<%# Eval("DepName")%>'
runat = "server"></user:CKListByDeprtment>
</td>
</tr>
</ItemTemplate>
<FooterTemplate>
</table>
</FooterTemplate>
</asp:Repeater>
DepartmentID est une propriété que j'ai définie à l'intérieur de la de contrôle de l'utilisateur.
int departmentID;
public int DepartmentID
{
get { return departmentID; }
set { departmentID = value; }
}
Et c'est de cette façon que j'essaie d'accéder
protected void Page_Load(object sender, EventArgs e)
{
int test = departmentID;
}
Lorsque la page est chargée pour la première fois, departmentID a une valeur. Toutefois, lorsque la page enregistre, cette valeur est toujours 0.
source d'informationauteur Richard77
Vous devez vous connecter pour publier un commentaire.
Toutes les variables (et les commandes) sont éliminés à la fin de la page du cycle de vie. Si vous avez besoin d'un moyen de conserver votre variable, par exemple dans le
ViewState
.L'article de MSDN Magazine "Neuf Options pour la Gestion Persistante d'État de l'Utilisateur dans Votre ASP.NET l'Application" est utile, mais elle n'est plus visible sur le site web MSDN. C'est en avril 2003 edition, que vous pouvez télécharger un fichier d'Aide Windows (.chm). (N'oubliez pas d'apporter les propriétés et débloquer le "cela a été téléchargé à partir d'internet" chose, sinon vous ne pouvez pas afficher les articles correspondants.)
Changer votre propriété à utiliser viewstate