Nella mia esperienza sembra che ci sia molta duplicazione di html nei template lato server e lato client. Per lato del client intendo qualcosa come i modelli Jquery, e per lato server intendo le variabili lato server con html.Come evitare la duplicazione di html in tempate lato client e server?
Nel codice sotto il ciclo foreach Viene eseguito su ogni caricamento della pagina e viene utilizzato per creare un elenco di elementi. Si noti che circonda un blocco di html con segnaposti variabili che vengono utilizzati per i valori dinamici.
Sotto il ciclo foreach abbiamo un modello di Jquery con la stessa identica struttura html, l'unica cosa che è diversa è la sintassi variabile.
C'è modo di "fondere" in modo che non c'è bisogno di ripetere la stessa struttura html markup in entrambi i casi? Sembra semplicemente sbagliato dover usare lo stesso blocco HTML in entrambi i casi.
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>
Potrebbe fare un esempio sulla vostra tecnica per evitare la richiesta Ajax aggiuntivo per la seconda opzione? – chobo
Ive ha aggiunto un esempio. –
Questo funziona davvero bene, grazie! – chobo