Domanda
Ecco un modo che stiamo sputando un po 'HTML al nostro punto di vista.
foreach (var reportGroup in managedReportGroup.CustomerTags)
{ %>
<%= reportGroup.Name %>
<%
}
C'è qualcosa che posso fare in questo modo? (Questo non funziona per me)
Action<ManagedReportGroups> handlesReportGroup = delegate(ManagedReportGroups managedReportGroup)
{
foreach (var reportGroup in managedReportGroup.CustomerTags)
{
Html.Encode(reportGroup.Name);
}
};
La ragione potrebbe essere quella di ridurre le staffe aligator e ripulire il mio codice.
Grazie,
Mike
Soluzione
Se si sposta a una vista parziale, si avrà ancora a che fare il loop all'interno del parziale.
Si potrebbe creare metodi di estensione HTML personalizzato se fossi davvero morto-set contro il vostro primo esempio.
Se il vostro obiettivo principale è proprio quello di ridurre i "supporti coccodrillo" si potrebbe tagliare fino a due se l'avete fatto in questo modo:
<%
foreach (var reportGroup in managedReportGroup.CustomerTags)
{
Response.Write(reportGroup.Name)
}
%>
Si potrebbe anche considerare l'rel="nofollow Spark View Engine
Altri suggerimenti
Perché non usare PartialViews?
foreach (var reportGroup in managedReportGroup.CustomerTags)
{ %>
<% Html.RenderPartial("NamePartialView", reportGroup.Name) %>
}
Allora la vostra visione parziale può rendere il nome.
Questo è più efficace quando si passa nel reportGroup al PartialView e lasciare che il PartialView poi o scrivere tutto il codice HTML oppure chiama ulteriori PartialViews ogni rendering ad un livello più atomica.