Jak zdefiniować metodę w Razor?
c#
asp.net-mvc
asp.net-mvc-3
razor
Rookian
źródło
źródło
Odpowiedzi:
Pozostawiając w spokoju wszelkie debaty, kiedy (jeśli w ogóle) należy to zrobić, @functions to sposób, w jaki to robisz.
źródło
@functions
jest dobrym miejscem do organizowania wyświetlania określonego kodu generowania.Masz na myśli pomocnika?
źródło
Zdefiniowanie funkcji w maszynce do golenia jest bardzo proste.
Możesz więc wywołać funkcję w dowolnym miejscu. Lubić
Tę samą pracę można jednak wykonać
helper
również. Jako przykładJaka jest różnica? Zgodnie z tym poprzednim postem zarówno @helpers, jak i @funkcje mają jedną wspólną cechę - umożliwiają ponowne użycie kodu na stronach internetowych. Łączy ich też jeszcze jedna wspólna cecha - na pierwszy rzut oka wyglądają tak samo, co może powodować zamieszanie w ich rolach. Jednak nie są takie same. Zasadniczo pomocnik to fragment kodu Razor sytnax, który jest udostępniany jako metoda i jest przeznaczony do renderowania HTML w przeglądarce, podczas gdy funkcja jest statyczną metodą narzędziową, którą można wywołać z dowolnego miejsca w aplikacji Web Pages. Typem zwracanym dla pomocnika jest zawsze HelperResult, natomiast typem zwracanym dla funkcji jest to, co chcesz.
źródło
@Functions
przedrostka, jak@OrderedList(...)
działa dla mnie w .netcore.Możesz to również zrobić za pomocą takiego Func
źródło
Razor to tylko szablonowy silnik.
Powinieneś stworzyć regularną klasę.
Jeśli chcesz stworzyć metodę na stronie Razor, umieść ją w
@functions
bloku .źródło
Możesz po prostu zadeklarować je jako funkcje lokalne w bloku żyletki (tj
@{}
.).źródło
Możesz także użyć
@{ }
bloku do tworzenia funkcji:Następnie na stronie maszynki do golenia:
źródło
MyModelVm.cs
Index.cshtml
źródło