Standard data binding syntax assumes using a Bind(string name) or Eval(string name) methods in the context of data binding expression where name is a name of a property of the DataItem object. But what if the data item if of type that does not have properties like System.String for examples?
In this case there is another method that you can use: GetDataItem(). It will return to you the current instance of the DataItem object that you can use.
<%# GetDataItem() %>
That sort of syntax can be used even for DataSource properties in complex nested databound template controls.