Dentro de una página ASP .NET si se quiere mostrar un contenido HTML dependiendo del resultado de una función y que dicha función utilice enlace de datos (mediante Eval o Bind por ejemplo), al usar algo similar al siguiente párrafo:
<%if (IsLoaded((int)Eval("OutcomeId")))
{ %>
<a href="#">Prueba</a>
<%} %>
La aplicación puede compilar correctamente pero al momento de ejecutarse va a enviar un error de que no puede usarse el enlace de datos en este contexto. Para solucionar este problema la opción más factible es mandar llamar a una función pasandole los parámetros necesarios y que lo que regrese dicha función sea el HTML que deseamos que se despliegue dentro del GridView como se muestra en el siguiente fragmento de código:
<asp:TemplateField>
<ItemTemplate>
<%# GetLinkTest(Convert.ToInt32(Eval("Param1")), Eval("Param2").ToString()) %>
</ItemTemplate>
</asp:TemplateField>
Esto nos mostrará el resultado que requerimos poniendo el funcionamiento dentro de la función que se manda a ejecutar dentro del GridView como en el ejemplo la función nos devolvería el HTML que queremos:
public string GetLinkTest(int Param1, string Param2)
{
string ResultLink = string.Empty;
//Cuerpo de la función
return ResultLink;
}