How to use Eval() with a column name that contains a dot(.)?

use

<%# ((DataRowView)Container.DataItem)["slno."] %>

Alternatively use

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

For MSDN reference see http://msdn.microsoft.com/en-us/library/4hx47hfe.aspx

EDIT - Another option:

<%# DataBinder.GetPropertyValue(Container.DataItem, "slno.") %>

EDIT 2 - as per comments:

AFAIK Eval handles the string as an expression which it evaluates using some rules - these rules have special handling for the dot...

GetPropertyValue OTOH does not apply those rules (which means it is NOT a full replacement for Eval AFAIK) thus having the ability to handle cases where the dot handling of Eval leads to problems (like in this case).