El motor de vista Razor en ASP.NET MVC admite @helper para definir pequeños métodos auxiliares. Parece que puede hacer más de lo mismo al agregar métodos de extensión a HtmlHelper. ¿En qué situaciones es mejor usar cada uno?ASP.NET MVC: Razor @helper vs métodos de extensión para HtmlHelper - ¿cuál es el preferido?
Respuesta
Pregunta subjetiva, así que aquí está mi respuesta subjetiva y sesgada: Cuando el código auxiliar implica cantidades de código C#, use un HtmlHelper personalizado y cuando sea un marcado primario, puede usar @helper
. Pero suponiendo que cuando tiene marcado puede utilizar un parcial como @Html.Partial("_foo", SomeModel)
o plantillas de editor/pantalla como @Html.EditorFor(x => x.Foo)
, el @helper
realmente no tiene ningún uso práctico. Personalmente, nunca he usado @helper
por cierto, y nunca he recomendado su uso a personas a las que he estado consultando.
Sí, es cierto, aunque los @helpers parecen un poco más fáciles de usar si hay un buen fragmento de marcado incluido: las extensiones de HTML y el marcado más extenso no van tan bien juntas, IMO.
Por otro lado, @helpers no se puede probar en unidades como extensiones Html.
+1 Muy buen punto acerca de las pruebas unitarias. –
- 1. ¿Utiliza alguna extensión personalizada ASP.NET MVC HtmlHelper?
- 2. ASP.NET MVC - llamando a Razor @helper desde otro @helper
- 3. Métodos de extensión de vista ASP MVC Razor, cómo crear métodos de vista 'global'?
- 4. Google Chart HtmlHelper para Asp.net Mvc
- 5. Codificación HTML para HtmlHelper Método de extensión
- 6. Webforms de Asp.Net V Asp.Net WebSite (Razor) Vs. Asp.Net MVC
- 7. ASP.NET MVC 3 Razor plantillas VS renderPartial
- 8. Necesita ayuda para crear Custom Html Helper para Asp.net MVC
- 9. lógica condicional en vista MVC vs vs HtmlHelper acción
- 10. ASP.Net MVC 3 Razor Response.Write position
- 11. métodos HtmlHelper y RouteValueDictionary
- 12. Creación de la extensión de botón MVC Delete - ¿Cómo extender el helper Html de MVC?
- 13. Asp.Net MVC Html Helper Extension
- 14. Método de extensión MVC 3 htmlhelper para envolver contenido
- 15. ¿Por qué Razor no puede encontrar mi HTML Helper?
- 16. Ayuda con ASP.NET MVC HtmlHelper API Diseño
- 17. ¿Hay un ASP.NET MVC HtmlHelper para enlaces de imagen?
- 18. ASP.NET MVC Razor diseñador
- 19. ASP.NET MVC Razor concatenación
- 20. MVC ASP.NET o Razor
- 21. Cómo llamar a UrlHelper al escribir la extensión para HtmlHelper
- 22. ASP.NET MVC 3 Razor el rendimiento
- 23. Motor ASP.NET MVC Razor view
- 24. ASP.NET MVC Uso de Render Parcial desde dentro de Html Helper
- 25. ASP.Net MVC 2.0 Html.HiddenFor HtmlHelper extension no devuelve el valor
- 26. ¿Es posible crear un ASP.NET MVC personalizado fuertemente HTML Helper?
- 27. ¿Cuál es el conjunto de herramientas RDF preferido para Ruby?
- 28. Métodos de ayuda declarativa en Razor RTM
- 29. Script & CSS Registration Helper en ASP.NET MVC?
- 30. ASP.NET MVC ViewModel con métodos: ¿es "legal"?
Este ha sido mi pensamiento, especialmente cuando el ejemplo de él http://weblogs.asp.net/scottgu/archive/2011/05/12/asp-net-mvc-3-and-the-helper-syntax -within-razor.aspx para DisplayPrice, creo que este es el tipo de código para el que es más adecuado. Código casi completamente sin lógica que solo afecta la presentación. Del mismo modo sería hacer que sus vistas se SECO. –
Si el motor de vista cambia no es necesario que reescribamos los métodos de ayuda en .cs pero de manera declarativa (.cshtml) tenemos que hacerlo. –