Si utilizo el siguiente código que pierda la capacidad de hacer clic derecho sobre las variables en el código detrás y refactorizar (cambiar el nombre en este caso) que¿El código en línea en sus páginas aspx es una buena práctica?
<a href='<%# "/Admin/Content/EditResource.aspx?ResourceId=" + Eval("Id").ToString() %>'>Edit</a>
veo esta práctica en todas partes, pero parece extraño para mí como yo ya no puedo obtener errores de tiempo de compilación si cambio el nombre de la propiedad. Mi enfoque preferido es hacer algo como esto
<a runat="server" id="MyLink">Edit</a>
y luego en el código detrás
MyLink.Href= "/Admin/Content/EditResource.aspx?ResourceId=" + myObject.Id;
Estoy muy interesado en saber si las personas piensan que el enfoque anterior es mejor, ya que es lo que siempre ver en sitios de codificación populares y blogs (por ejemplo, Scott Guthrie) y es un código más pequeño, pero tiendo a usar ASP.NET porque está compilado y prefiero saber si algo se rompe en tiempo de compilación, no de tiempo de ejecución.
"pero ¿por qué nos dieron esa opción en primer lugar?" Porque así es como lo hizo ASP 3.0? Hay una razón por la que tenemos la chapa de VB.NET sobre C#; Microsoft [a menudo] es particularmente serio acerca de la compatibilidad con versiones anteriores y el mantenimiento de modelos mentales previos. Como bien lo señalas, ser _able_ para escribir código similar a ASP 3 no necesariamente lo convierte en una buena idea. – ruffin