En mi experiencia, parece que hay mucha duplicación de html en las plantillas del servidor y del lado del cliente. Por el lado del cliente me refiero a algo así como las plantillas de Jquery, y por el lado del servidor me refiero al uso de variables del lado del servidor con html.¿Cómo evitar la duplicación de html en tempates del lado del cliente y del servidor?
En el siguiente código, el bucle foreach se ejecuta en cada carga de página y se utiliza para crear una lista de elementos. Observe que rodea un bloque de html con marcadores de posición variables que se usan para valores dinámicos.
Debajo del bucle foreach tenemos una plantilla de Jquery con la misma estructura html, lo único que difiere es la sintaxis de la variable.
¿Hay forma de "fusionarlo" para no tener que repetir la misma estructura de marcado html en ambos casos? Simplemente parece incorrecto tener que usar exactamente el mismo bloque html en ambos casos.
ex
<h1>Portfolio's</h1>
<ul id="portfolioList" class="portfolio">
<% foreach (Portfolio p in Portfolios)
{ %>
<li>
<span class="delete">[X] </span>
<a href="/portfolioDetails.aspx?p=<%=p.PortfolioId %>"><%=p.Name %></a>
</li>
<% } %>
</ul>
<!-- portfolio template -->
<script id="portfolioTemplate" type="text/x-jquery-tmpl">
<li>
<span class="delete">[X] </span>
<a href="/portfolioDetails.aspx?p=${PortfolioId}">${Name}</a>
</li>
</script>
¿Podría dar un ejemplo de su técnica para evitar la solicitud de ajax adicional para la segunda opción? – chobo
He añadido un ejemplo. –
Eso realmente funciona bastante bien, ¡gracias! – chobo