<%= This is the equivelant to Response.Write("foo"); and it is used, mostly, in old classic asp websites. It can still be used in .NET websites, however, there is no real reason to do it since you can place a variables vaule in a label, literal control, etc. (To do this in a .NET website the varaible has to be declared with a scope of public)
From the book Beginning ASP.NET 2.0 and Databases
: "DataBinding Expressions <%# ... %> can contain more than just Eval and Bind statements. In fact, they can contain arbitrary code expressions. For example, if a public property on my page is named MyControl.MyProperty, it could be referred to as <%# MyControl .MyProperty %>"
So, to simplify, the <%#...%> designates databinding within a control (GridView, DataList, etc).
Read this if you want to know how to get a correct reply for your question:
Technical Editor for:
Beginning Visual C# 2008
Professional Search Engine Optimization with ASP.NET
Professional IIS 7 and ASP.NET Integrated Programming
Wrox Blox: Introduction to Google Gears
Wrox Blox: Create Amazing Custom User Interfaces with WPF and .NET 3.0