Los bloques de codigo de ASP.Net, pueden llegar a ser confusos y no parece que esten documentados todos en un solo lugar. Por ello pongo aqui una pequeña guia:
<%...%> Ejecutar codigo normal
<%=...%> Equivalente a Response.Write()
<%#...%> Usado para expresiones de databinding
<%$...%> Retorna el valor de una expresion. Puede ser usado en parametros
<%@...%> Directivas de pagina, normalmente en la parte superior del documento
<%--...--%> Comentario
<%:...%> Lo mismo <%= excepto que codifica para HTML
Las expressiones no son codigo, pero se puede leer mas sobre el tema ASP.NET Expressions Overview.
Mas enlaces: