Нет, это невозможно. @functions
видны только внутри текущего вида.
Вы можете использовать @helper
, который можно поместить в папку App_Code
и использовать повторно из всех представлений.
Например, вы определяете ~/App_Code/MyHelpers.cshtml
:
@helper Foo()
{
...
}
и затем в некотором представлении:
@MyHelpers.Foo()
Но я бы порекомендовал скомпилированные помощники. Они удобны для модульных тестов и не зависят от движка, и когда завтра Microsoft представит свой новый движок просмотра Blade, у вас будет 0 работ, чтобы их использовать, тогда как если вы будете кодировать против таких специфических для Razor вещей, как @functions
и @helper
, то вы придется их портировать. Возможно, вас это не касается, но стоит упомянуть.