2010-03-30 5 views
3

max de DataBinder Item Je travaille à la page aspx, et le code suivant est inséré dans un contrôle Repeater:Obtenir la valeur

<%# ((System.Collections.Generic.List<double>)DataBinder.Eval(Container.DataItem, "BookPrices")).Max() %> 

Apporte l'erreur suivante: 'System.Collections.Generic.List<double>' does not contain a definition for 'Max'

Liste n'ont une méthode de Max(), donc je suis peut-être en train de gâcher mon code en quelque sorte. Quel est mon problème? BookPrices est un objet list<double>, dont je voudrais imprimer la valeur maximale.

P.S. Vous êtes géniaux les gars! Je n'ai pas trouvé de réponses à beaucoup de mes questions sur le web. Vous êtes vraiment des épargnants de vie. Merci beaucoup! :)

Répondre

2

Avez-vous veillé à importer System.Linq?

List<T> n'a pas réellement une méthode Max. Au lieu de cela, Max se lie le plus souvent à la méthode d'extension Enumerable.Max. Linq doit être importé pour que cela fonctionne.

+0

Je travaille sur la page 'aspx', je ne peux pas importer une chose. Ce code est inséré dans un contrôle 'Repeater'. BTW J'ai utilisé list.max quelques fois et je n'ai jamais utilisé 'using System.Linq'. – iTayb

+1

Dans la page ASPX vous faites cela par <% @ Import Namespace = "System.Linq"%> – MPritchard

+0

Merci! ~ Cela a fonctionné! :RÉ – iTayb