bcm
bcm

Reputation: 5500

Eval function is C#

I need some help in understanding what the Eval bit does (Just started learning C#.net):

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

The image is in a datalist repeater which has been binded to a folder containing images files.

I'm confused with the "Name" and {0}.. what is the significance of these and in what situation can I change them.

Upvotes: 4

Views: 6843

Answers (3)

Leniel Maccaferri
Leniel Maccaferri

Reputation: 102418

In this case, the content of "Name" will be inserted in the placeholder {0}.

This way if you have

Name = "ImageName"

Your ImageUrl will be

ImageUrl="~/UploadImages/ImageName"

This is useful in dynamic cenarios because for each object the repeater will change the Name property accordingly to form the image URL.

Upvotes: 0

Tahbaza
Tahbaza

Reputation: 9548

The Eval statement in an aspx or ascx file is usually used to dynamically evaluate a binding statement within the context of the item bound to the current row in a databound control.

The first parameter is the property/field to bind to on the row. The second parameter is an optional format string. {0} will be replace with the value of the Name property in rendering the output text.

Here's the relevant doc. Enjoy!

Upvotes: 4

Jim Schubert
Jim Schubert

Reputation: 20357

That is a format string. Whatever is evaluated by the property, call it evalResult, of the first parameter to eval is passed through a String.Format("~/UploadImages/{0}", evalResult)

So, if the value in your dataset field for name is "Steve.jpg", your grid will show:
<img src="/UploadImages/Steve.jpg" ... />

For more information on Eval, check out msdn: http://msdn.microsoft.com/en-us/library/2d76z3ck.aspx

Upvotes: 1

Related Questions