Как определить метод в Razor?
c#
asp.net-mvc
asp.net-mvc-3
razor
Rookian
источник
источник
Ответы:
Оставляя в покое любые споры о том, когда (если когда-либо) это должно быть сделано, @functions - это то, как вы это делаете.
источник
@functions
это хорошее место для организации просмотра конкретного кода генерации.Вы имеете в виду встроенный помощник?
источник
Определить функцию внутри бритвы очень просто.
Таким образом, вы можете вызвать функцию в любом месте. подобно
Однако эту же работу можно проделать и через
helper
. НапримерТак в чем же разница? Согласно этому предыдущему посту и @helpers, и @functions имеют одну общую черту - они делают возможным повторное использование кода на веб-страницах. У них также есть одна общая черта - на первый взгляд они выглядят одинаково, что может вызвать путаницу в их ролях. Однако они не одинаковы. По сути, помощник - это многократно используемый фрагмент Razor sytnax, представленный в виде метода и предназначенный для визуализации HTML в браузере, тогда как функция - это статический служебный метод, который можно вызывать из любого места в приложении веб-страниц. Тип возвращаемого значения для помощника всегда HelperResult, тогда как тип возвращаемого значения для функции - то, что вы хотите, чтобы это было.
источник
@Functions
префикса, как@OrderedList(...)
у меня работает в .netcore.Вы также можете сделать это с Func, как это
источник
Бритва - это просто шаблонизатор.
Вы должны создать обычный класс.
Если вы хотите создать метод внутри страницы Razor, поместите их в
@functions
блок .источник
Вы можете просто объявить их как локальные функции в блоке бритвы (то есть
@{}
).источник
Вы также можете просто использовать
@{ }
блок для создания функций:Затем на вашей странице бритвы:
источник
MyModelVm.cs
Index.cshtml
источник