DataBinder.Eval Method (Object, String)

Evaluates data-binding expressions at run time.

Namespace: System.Web.UI
Assembly: System.Web (in system.web.dll)

public static Object Eval (
	Object container,
	string expression
public static Object Eval (
	Object container, 
	String expression
public static function Eval (
	container : Object, 
	expression : String
) : Object
Not applicable.



The object reference against which the expression is evaluated. This must be a valid object identifier in the page's specified language.


The navigation path from the container object to the public property value to be placed in the bound control property. This must be a string of property or field names separated by periods, such as Tables[0].DefaultView.[0].Price in C# or Tables(0).DefaultView.(0).Price in Visual Basic.

Return Value

An Object instance that results from the evaluation of the data-binding expression.

Exception typeCondition


expression is a null reference (Nothing in Visual Basic) or is an empty string after trimming.

The value of the expression parameter must evaluate to a public property.

This method is automatically called when you create data bindings in a rapid application development (RAD) designer such as Visual Studio. You can also use it declaratively to simplify casting to a text string. To do so, you use the <%#  %> expression syntax, as used in standard ASP.NET data binding.

This method is particularly useful when binding data to controls that are in a templated list.


Because this method performs late-bound evaluation, using reflection at run time, it can cause performance to noticeably slow compared to standard ASP.NET data-binding syntax.

For any of the list Web controls, such as GridView, DetailsView, DataList, or Repeater, container should be Container.DataItem. If you are binding against the page, container should be Page.

The following code example demonstrates how you could use the Eval method declaratively to bind to a Price field. This example uses container syntax that assumes you are using one of the list Web controls.

<%# DataBinder.Eval (Container.DataItem, "Price") %>

Windows 98, Windows Server 2000 SP4, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

The Microsoft .NET Framework 3.0 is supported on Windows Vista, Microsoft Windows XP SP2, and Windows Server 2003 SP1.

.NET Framework

Supported in: 3.0, 2.0, 1.1, 1.0