¿Cómo defino un método en Razor?
c#
asp.net-mvc
asp.net-mvc-3
razor
Rookiano
fuente
fuente
Respuestas:
Dejando en paz cualquier debate sobre cuándo (si alguna vez) debería hacerse, @functions es cómo lo hace.
fuente
@functions
es un buen lugar para organizar ver código de generación específico . Caso en cuestión: esas plantillas de cliente feas de cadenas ..¿Te refieres a ayuda en línea?
fuente
Es muy simple definir una función dentro de la maquinilla de afeitar.
Entonces puede llamar a la función en cualquier lugar. Me gusta
Sin embargo, este mismo trabajo también se puede hacer
helper
. Como ejemplo¿¿Entonces cuál es la diferencia?? Según esta publicación anterior, tanto @helpers como @functions comparten una cosa en común: hacen posible la reutilización de códigos dentro de las páginas web. También comparten otra cosa en común: se ven iguales a primera vista, que es lo que podría causar un poco de confusión sobre sus roles. Sin embargo, no son lo mismo. En esencia, un ayudante es un fragmento reutilizable de la sintaxis Razor expuesta como método, y está destinado a representar HTML en el navegador, mientras que una función es un método de utilidad estático que se puede llamar desde cualquier lugar dentro de la aplicación de páginas web. El tipo de retorno para un ayudante es siempre HelperResult, mientras que el tipo de retorno para una función es lo que usted quiera que sea.
fuente
@Functions
prefijo como@OrderedList(...)
funciona para mí en .netcore.También puedes hacerlo con un Func como este
fuente
Razor es solo un motor de plantillas.
Deberías crear una clase regular.
Si desea crear un método dentro de una página Razor, colóquelos en un
@functions
bloque .fuente
Simplemente puede declararlos como funciones locales en un bloque de afeitar (es decir
@{}
).fuente
También puede usar el
@{ }
bloque para crear funciones:Luego, más tarde en su página de afeitar:
fuente
MyModelVm.cs
Index.cshtml
fuente