2009-10-07 5 views
2

Je me demande comment je peux utiliser les valeurs Eval dans un ListView? Je veux dire l'afficher en tant que texte est assez simple, même en l'envoyant au codebehind via certains paramètres dans un événement de clic de bouton par exemple. Mais comment puis-je utiliser cette information telle quelle sur la page aspx sans utiliser d'événements déclenchés?Comment utiliser la valeur Eval ("x") dans ListView

Fondamentalement, je reçois un Eval ("Stockage") qui contient le nombre de produits en stock. Maintenant, sur la base de ce numéro, je vais afficher un lien dynamique "Ajouter au panier" ou non. Mais je ne peux tout simplement pas trouver un moyen de toucher ces informations de stockage. C'est sans aucun doute une question de débutant, mais je ne trouve pas de réponse à cela n'importe où.

Merci.

Répondre

0

Je ne pense pas que vous pouvez le faire sans utiliser les événements listview. Vous devriez pouvoir utiliser l'événement ItemInserting de la liste pour masquer ou afficher le bouton de lien "Ajouter au panier".

2

Enveloppez votre Eval appel:

Markup:

<asp:LinkButton id="whatever" runat="server" 
    Visible='<%# ShowHideLink(Eval("Storage")) %>' ..etc />  

code-behind:

protected bool ShowHideLink(object obj) 
{ 
    bool result = false; 
    //cast obj to whatever datatype it is 
    int numOfProducts = (int)obj; 

    //do some evaluating 
    if(numOfProducts > 10) //whatever your biz logic is 
    { 
     result = true; 
    } 

    return result; 
} 
+0

merci pour cet exemple détaillé, j'ai passé beaucoup de temps à essayer d'envelopper ma tête autour de cela. –

Questions connexes