2010-07-03 3 views
4

J'ai besoin d'aide pour comprendre ce que le bit Eval ne (Just a commencé à apprendre C# .net):fonction Eval est C#

<asp:Image 
ID="Image1" 
ImageUrl='<%# Eval("Name", "~/UploadImages/{0} %>' 
... 

L'image est dans un répéteur datalist qui a été binded dans un dossier contenant des images des dossiers.

Je suis confondu avec le "Nom" et {0} .. quelle est la signification de ceux-ci et dans quelle situation puis-je les changer.

+0

La propriété 'Name', le type de propriété par défaut pour les données de .GetFiles()? Ces types de propriété sont des propriétés par défaut qui sont fixées (non définies)? – bcm

Répondre

4

la déclaration Eval dans un ASPX ou d'un fichier ascx est habituellement utilisé pour évaluer dynamiquement une déclaration contraignante dans le contexte de l'élément lié à la ligne en cours dans un contrôle de base de données.

Le premier paramètre est la propriété/le champ à lier sur la ligne. Le deuxième paramètre est une chaîne de format optionnelle. {0} sera remplacé par la valeur de la propriété Name lors du rendu du texte de sortie.

Voici le doc pertinent. Prendre plaisir!

0

Dans ce cas, le contenu de "Nom" sera inséré dans l'espace réservé {0}.

De cette façon, si vous avez

Name = "ImageName" 

Votre ImageUrl sera

ImageUrl="~/UploadImages/ImageName" 

Ceci est utile dans cenarios dynamique car pour chaque objet le répéteur changera la propriété Name en conséquence pour former l'URL de l'image .

1

Ceci est une chaîne de format. Tout ce qui est évalué par la propriété, appelez evalResult, du premier paramètre à eval est passé à travers un String.Format("~/UploadImages/{0}", evalResult)

Ainsi, si la valeur dans votre champ de jeu de données pour le nom est « Steve.jpg », votre grille affiche:
<img src="/UploadImages/Steve.jpg" ... />

pour plus d'informations sur Eval, consultez msdn: http://msdn.microsoft.com/en-us/library/2d76z3ck.aspx

Questions connexes