Wie definiere ich eine Methode in Razor?
c#
asp.net-mvc
asp.net-mvc-3
razor
Rookian
quelle
quelle
Antworten:
Lassen Sie alle Debatten darüber, wann (wenn überhaupt) es getan werden sollte, @functions so, wie Sie es tun.
quelle
@functions
ist ein guter Ort, um den Ansichtsspezifischen Generierungscode zu organisieren . EinDu meinst Inline-Helfer?
quelle
Es ist sehr einfach, eine Funktion im Rasierer zu definieren.
Sie können die Funktion also überall aufrufen. Mögen
Dieselbe Arbeit kann jedoch auch durchgeführt werden
helper
. Als BeispielWas ist der Unterschied? Laut diesem vorherigen Beitrag haben sowohl @helpers als auch @functions eines gemeinsam: Sie ermöglichen die Wiederverwendung von Code innerhalb von Webseiten. Sie haben noch etwas gemeinsam: Sie sehen auf den ersten Blick gleich aus, was zu Verwirrung bei ihren Rollen führen kann. Sie sind jedoch nicht gleich. Im Wesentlichen ist ein Helfer ein wiederverwendbarer Ausschnitt aus Razor sytnax, der als Methode verfügbar gemacht wird, und dient zum Rendern von HTML im Browser, während eine Funktion eine statische Dienstprogrammmethode ist, die von überall in Ihrer Webseitenanwendung aufgerufen werden kann. Der Rückgabetyp für einen Helfer ist immer HelperResult, während der Rückgabetyp für eine Funktion so ist, wie Sie es möchten.
quelle
@Functions
Präfixes, wie es@OrderedList(...)
für mich in .netcore funktioniert.Sie können es auch mit einem Func wie diesem machen
quelle
Razor ist nur ein Template-Motor.
Sie sollten eine reguläre Klasse erstellen.
Wenn Sie eine Methode innerhalb einer Razor-Seite erstellen möchten, fügen Sie sie in einen
@functions
Block ein .quelle
Sie können sie einfach als lokale Funktionen in einem Rasierklingenblock deklarieren (dh
@{}
).quelle
Sie können den
@{ }
Block auch einfach zum Erstellen von Funktionen verwenden:Dann später auf Ihrer Rasierseite:
quelle
MyModelVm.cs
Index.cshtml
quelle