0

Je travaille actuellement sur une boutique en ligne. Pour cela, j'ai besoin de faire un tableau bidimensionnel pour stocker les éléments déplacés dans le panier.Tableau dynamique à deux dimensions

Panier:

Cart = Session("Cart") 
Items = Session("Items") 

Et quand un élément est déplacé vers le panier:

Items = Items + 1 

Cart(1,Items) = Items 
Cart(2,Items) = rs("id") 
Cart(3,Items) = Request("attr") 
Cart(4,Items) = rs("name") 
Cart(5,Items) = rs("price") 
Cart(6,Items) = 1 

Et enfin:

Session("Cart") = Cart 
Session("Items") = Items 

Mais je vais avoir des problèmes avec le manque de asp du support approprié des tableaux bidimensionnels dynamiques. Ou suis-je juste le prendre dans le mauvais sens? Pouvez-vous m'aider?

Répondre

0

Ne serait-il pas plus simple de stocker un ShoppingSessionID pour l'utilisateur associé à une table qui contient une liste d'éléments dans le panier? de cette façon, tout ce que vous avez à stocker est Session("ShoppingSessionID").

+0

Ceci est ma prochaine solution .. Je préfère celui expliqué, mais s'il n'y a pas de support décent pour les tableaux multidimensionnels ehn je vais aller pour celui-ci. –

0

Il me semble que votre problème pourrait être résolu avec une liste dynamique d'objets item. Dans ce cas, vous voudrez créer une classe Item et ensuite ajouter à la liste Cart un nouvel objet Item pour chaque nouvel item.

+0

Avez-vous des liens pour la documentation ou des exemples de code? –

1

Vous pouvez créer des objets au lieu d'utiliser des tableaux. Ou même un structure, s'il n'y a pas de méthodes.

Voici un expamle d'une struct

/// <summary> 
/// Custom struct type, representing a rectangular shape 
/// </summary> 
struct Rectangle 
{ 
    /// <summary> 
    /// Backing Store for Width 
    /// </summary> 
    private int m_width; 

    /// <summary> 
    /// Width of rectangle 
    /// </summary> 
    public int Width 
    { 
     get 
     { 
      return m_width; 
     } 
     set 
     { 
      m_width = value; 
     } 
    } 

    /// <summary> 
    /// Backing store for Height 
    /// </summary> 
    private int m_height; 

    /// <summary> 
    /// Height of rectangle 
    /// </summary> 
    public int Height 
    { 
     get 
     { 
      return m_height; 
     } 
     set 
     { 
      m_height = value; 
     } 
    } 
} 

donc vous pouvez maintenant:

Cart[0] = new Rectangle{Width = 1,Height = 3}; 

ou

Rectangle myRec = new Rectangle(); 
myRec.Height = 3; 
myRec.Width = 1; 
Cart[0] = myRec; 

Swap l'exemple Rectangle avec article, et vous devriez être sur votre façon. De cette façon, une seule instance de chaque panier plusieurs éléments qui ont chacun leur propre ensemble de propriétés.

+0

Je voudrais regarder dans l'objet. Vous avez des exemples de code ou des liens? Je n'ai pas besoin de plus d'un panier par session - qu'est-ce qui vous fait penser à ça? –

+0

J'ai ajouté un exemple de structure à ma réponse. http://www.blackwasp.co.uk/CSharpObjectOriented.aspx est un joli tutoriel OO. –

+0

Je connais les structures .. Mais les structures en ASP? .. –

Questions connexes