Ich möchte eine Teilansicht erstellen, die eine Modellspalte erhält und sie druckt. So ähnlich:
In der Ansicht:
%Vor%Und bei der Teilansicht:
%Vor%Es gibt ein paar Probleme, denen ich begegne:
Danke!
BEARBEITEN:
Nur um eine Sache zu löschen, möchte ich, dass die Ansicht für jede Spalte in der Tabelle dieselbe Teilansicht aufruft (für die meisten Spalten in der Tabelle sowieso) und jedes Mal, wenn ich eine andere Spalte sende (eindeutiger Wert Spalte, um genau zu sein).
Beginnen Sie mit dem Refactoring und bringen Sie die richtige Logik an den richtigen Ort. Diese LINQ-Abfrage hat in einer Ansicht nichts zu tun. Eine Ansicht darf keine LINQ-Abfragen oder was auch immer zum Abrufen von Daten enthalten. Eine View soll mit Daten arbeiten, die ihr von der Controller-Aktion in Form eines View-Modells übergeben werden. Eine Controller-Aktion erstellt und übergibt ein angepasstes Ansichtsmodell, das Sie für die Ansicht definieren.
Wie immer beginnen Sie damit, ein View-Modell zu definieren, das an die Anforderungen Ihrer Sicht angepasst wird:
%Vor%Dann schreiben Sie eine Controller-Aktion, die dieses View-Modell auffüllt und an die View übergibt:
%Vor%dann eine Ansicht:
%Vor% und schließlich können Sie eine entsprechende Anzeigevorlage definieren, die automatisch für jedes Element der Brands
-Auflistung Ihres Ansichtsmodells ( ~/Views/Shared/DisplayTemplates/Brand.cshtml
) gerendert wird:
Bei 1 ändern Sie @Html.RenderPartial("_DisplayAttribute",Brand)
in @Html.Partial("_DisplayAttribute",Brand)
Sie müssen auch das Modell in der Teilansicht wie @model products_comparison.Models.Brand
oder etwas Ähnliches
Bitte klären Sie auch 2 & amp; 3 da sie nicht klar sind, was Sie wollen
Tags und Links asp.net-mvc razor partial-views ado.net-entity-data-model