Question

Je dois ajouter la itemid de la liste des lignes lorsque je clique sur le bouton « ajouter au panier » dans le gridview, j'ai pu passer ce itemid à un arraylist.

Mais le problème est que chaque fois que je clique sur le bouton de la itemid précédente est remplacée par le nouvel élément à la place que je veux que le arraylist de se développer.

public partial class Drama_k : System.Web.UI.Page
{
    string Cn=@"Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\ewap_k.mdf;Integrated Security=True;User Instance=True";
    ArrayList arrValues = new ArrayList(4);

protected void GridView2_RowCommand(object sender, GridViewCommandEventArgs e)
    {
        if (e.CommandName=="AddToCart")
        {
            int index = Convert.ToInt32(e.CommandArgument);
            Session["item"] = GridView2.DataKeys[index].Value.ToString();
            arrValues.Add(Session["item"]);
            GridView1.DataSource = arrValues;
            GridView1.DataBind();
        }
    }
}
Était-ce utile?

La solution

ne pas oublier que le arraylist ne sont pas stockées quelque part, vous devez stocker dans la session de l'utilisateur et sur chaque postback causé par le bouton récupérer de la session et ajouter l'élément cliqué par l'utilisateur.

Modifier. Voici un petit échantillon de la façon dont vous devriez stocker ArrayList dans la session et le récupérer sur chaque postback

    public partial class _Default : System.Web.UI.Page
{
    ArrayList array;
    protected void Page_Load(object sender, EventArgs e)
    {
        if(Session["array"] == null)
        {
            array = new ArrayList();
            Session.Add("array", array);
        }
        else
            array = Session["array"] as ArrayList;
        GridView1.DataSource = array; 
        GridView1.DataBind(); //Edit 2
    }

    protected void Button1_Click(object sender, EventArgs e)
    {
        array.Add(DateTime.Now);
    }
}

si vous avez encore des questions me le faire savoir.

Autres conseils

Vous avez juste besoin de stocker que dans le ArrayList ou ViewState de sorte qu'il Session conserver ses valeurs entre postbacks.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top