Daher suchte ich in ASP.Net Core nach einer guten Möglichkeit, einige "Steuerelemente" zu erstellen, die in eine Ansicht gerendert werden. Bisher habe ich festgestellt, dass es drei Optionen gibt, und ich wollte ein Feedback dazu erhalten.
ViewComponents: Diese sind wie Mini-Controller und verwenden Methoden wie Aktionen zum Rendern von einer Rasierseite (Ansicht). Ich glaube, dass sie eine in sich geschlossene Logik haben können, sodass keine Abhängigkeit von einem übergeordneten Ansichtsmodell besteht.
EditorTemplate / DisplayTemplate-Ordner: Diese befinden sich unter "Ansichten / Freigegeben /" und können durch Übergeben einer Modelleigenschaft (mit
DisplayFor()
oderEditorFor()
) in eine Ansicht gezogen werden .@inject für ASP.Net Core: Ermöglicht das Einfügen eines Typs in eine Ansicht (Ich habe keine Ahnung, ob eine Teilansicht zugeordnet werden kann?).
Ich lasse die Möglichkeit aus, Teilansichten direkt einzuschließen, da dies nicht meine Absicht für das Steuerungssystem ist, über das ich portiere.
Tag-Helfer - Es ist möglich, den aktuellen Ansichtskontext einzufügen und daraus auch Steuerelemente zu erstellen.
In einer älteren ASP.NET MVC-App hatte ich einige Steuerelemente, die aus den Vorlagen gerendert wurden (# 2). Für .Net Core denke ich jedoch darüber nach, möglicherweise stattdessen ViewComponents (die leistungsfähiger erscheinen) zum Rendern der zugehörigen Rasiereransichten zu verwenden (die Steuerelemente wickeln im Grunde nur Rasiermesseransichten ein). Im Moment werde ich mit der Konvertierung in ViewComponents experimentieren, würde mich aber über Ratschläge zu diesem Thema freuen, danke.
quelle