J'ai donc une liste sur ma page et quelques champs de texte. À travers les champs de texte, je peux ajouter un élément à ma liste (cliquez sur le bouton, il l'ajoute à un private List<string>
qui est ensuite défini comme ViewState et la liste est de nouveau databound). Ma liste est également dans un panneau de mise à jour qui est déclenché sur l'événement Click du bouton. Problème: My Viewstate reste null sur une publication afin qu'il soit réinitialisé à chaque fois.ViewState null sur la publication
Certains code:
private List<IngredientData> _ingredientsList;
protected void Page_Load(object sender, EventArgs e)
{
// prepare ingredient lists
_ingredientsList = new List<IngredientData>();
if (Page.IsPostBack)
{
if (ViewState["IngredientsList"] != null)
{
_ingredientsList = (List<IngredientData>) ViewState["IngredientsList"];
}
}
lstIngredients.DataSource = _ingredientsList;
lstIngredients.DataTextField = "Text";
lstIngredients.DataValueField = "Name";
lstIngredients.DataBind();
}
protected void btnAddIngredient_Click(object sender, EventArgs e)
{
_ingredientsList.Add(new IngredientData { Name = txtIngredientName.Text, Quantity = txtUnitQuantity.Text, Unit = lstUnits.SelectedValue });
ViewState["IngredienstList"] = _ingredientsList;
lstIngredients.DataSource = _ingredientsList;
lstIngredients.DataBind();
}
Toute idée comment je peux résoudre ce problème? Est-ce que je fais quelque chose de mal?
Dieu que je me sens terrible ... Moi et mon collègue ont été regardant cela depuis des siècles et ont manqué de manquer cela ... Fonctionne parfaitement maintenant, merci! – Fverswijver
@Fverswijver: les constantes sont votre ami :) – Town
+1 Vous obtenez un excellent point. Génial –