Pergunta
Aqui está uma maneira de estarmos cuspindo um pouco de HTML em nossa opinião.
foreach (var reportGroup in managedReportGroup.CustomerTags)
{ %>
<%= reportGroup.Name %>
<%
}
Existe algo que eu posso fazer assim? (Isso não funcionará para mim)
Action<ManagedReportGroups> handlesReportGroup = delegate(ManagedReportGroups managedReportGroup)
{
foreach (var reportGroup in managedReportGroup.CustomerTags)
{
Html.Encode(reportGroup.Name);
}
};
O motivo seria reduzir os suportes dos aligadores e limpar meu código.
Obrigado,
Mike
Solução
Se você o mover para visualizações parciais, ainda terá que fazer o loop dentro do parcial.
Você pode criar métodos de extensão HTML personalizados se fosse realmente um conjunto morto no seu primeiro exemplo.
Ou se seu objetivo principal é realmente reduzir os "suportes de jacarés", você pode reduzir para dois se fizesse da seguinte maneira:
<%
foreach (var reportGroup in managedReportGroup.CustomerTags)
{
Response.Write(reportGroup.Name)
}
%>
Você também pode considerar o Motor de exibição de faísca
Outras dicas
Por que não usar visualizações parciais?
foreach (var reportGroup in managedReportGroup.CustomerTags)
{ %>
<% Html.RenderPartial("NamePartialView", reportGroup.Name) %>
}
Então sua visão parcial pode renderizar o nome.
Isso é mais eficaz quando você passa no relatório para o PartialView e deixa o ParcialView, em seguida, escreva todo o HTML ou chama mais visualizações parciais a cada renderização em um nível mais atômico.