Monday, May 3, 2010

Bind() and Eval() in Asp.Net

# Eval is a protected method defined on the TemplateControl class, from which the Page class is derived.
# Bind is a new ASP.NET 2.0 databinding keyword. It's not a method of any specific class.
# Eval is used for unidirectional (readonly) data binding, while Bind is for bi-directional (editable) databinding.
# ASP.NET supports a hierarchical data-binding model that creates bindings between server control properties and data sources. Almost any server control property can be bound against any public field or property on the containing page or on the server control's immediate naming container.
# Data-binding expressions use the Eval and Bind methods to bind data to controls and submit changes back to the database. The Eval method is a static (read-only) method that takes the value of a data field and returns it as a string. The Bind method supports read/write functionality with the ability to retrieve the values of data-bound controls and submit any changes made back to the database.
# You can bind to XML data from an XmlDataSource control using the XPath and XPathSelect methods, as well as the XPathBinder class.
# Eval is a one way binding.
# Bind is two way binding.
# If you bind a value using Eval, it is like a read only. You can only view the data.
# If you bind a value using Bind, and if you do some change on the value it will reflect on the database also.