Ausspucken HTML mit asp.net mvc
-
23-09-2019 - |
Frage
Hier ist eine Art und Weise, dass wir zur Zeit spucken einige HTML unserer Ansicht aus.
foreach (var reportGroup in managedReportGroup.CustomerTags)
{ %>
<%= reportGroup.Name %>
<%
}
Gibt es etwas, dass ich so tun kann? (Das wird für mich nicht)
Action<ManagedReportGroups> handlesReportGroup = delegate(ManagedReportGroups managedReportGroup)
{
foreach (var reportGroup in managedReportGroup.CustomerTags)
{
Html.Encode(reportGroup.Name);
}
};
Der Grund wäre auf den Aligator Klammern zu reduzieren und meinen Code aufzuräumen.
Danke,
Mike
Lösung
Wenn Sie es zu Teilansichten bewegen, werden Sie noch die Schleife im Innern des Teils zu tun haben.
Sie können benutzerdefinierte HTML-Erweiterungsmethoden erstellen, wenn Sie wirklich tot-Set gegen Ihr erstes Beispiel.
Oder wenn Ihr Hauptziel ist wirklich „Alligator Klammern“ zu reduzieren Sie schneiden könnten auf zwei nach unten, wenn Sie es auf diese Weise tun:
<%
foreach (var reportGroup in managedReportGroup.CustomerTags)
{
Response.Write(reportGroup.Name)
}
%>
Sie könnten auch erwägen die Spark-Ansicht-Engine
Andere Tipps
Warum nicht PartialViews verwenden?
foreach (var reportGroup in managedReportGroup.CustomerTags)
{ %>
<% Html.RenderPartial("NamePartialView", reportGroup.Name) %>
}
Dann ist Ihre Teilansicht die Namen machen kann.
Das ist effektiver, wenn Sie in der reportGroup zum PartialView vorbei und lassen Sie die PartialView dann entweder schreiben alle HTML oder rufen Sie weitere PartialViews jedes Rendering auf einer atomaren Ebene.