Así que estaba buscando una buena manera en ASP.Net Core para crear algunos "controles" que se procesen en una vista. Hasta ahora descubrí que hay 3 opciones, y quería obtener algunos comentarios sobre ellas.
ViewComponents: son como mini controladores y usan métodos como acciones para renderizar desde una página de afeitar (ver). Creo que pueden tener una lógica autónoma para que no haya dependencia en ningún modelo de vista principal.
Carpetas EditorTemplate / DisplayTemplate: existen en "Vistas / Compartidas /" y se pueden extraer en una vista pasándoles una propiedad de modelo (usando
DisplayFor()
oEditorFor()
).@inject para ASP.Net Core: permite inyectar un tipo en una vista (¿No tengo idea si se puede asociar una vista parcial?).
Estoy dejando de lado la posibilidad de incluir vistas parciales directamente, ya que no es mi intención el sistema de control que estoy transfiriendo.
Ayudantes de etiqueta: también es posible inyectar el contexto de vista actual y crear controles a partir de estos.
En una aplicación ASP.NET MVC anterior, tenía algunos controles que se representaban desde las plantillas (# 2). Sin embargo, para .Net Core, estoy considerando posiblemente usar ViewComponents en su lugar (que parecen más potentes) para representar vistas de afeitar asociadas (los controles básicamente solo envuelven vistas de afeitar). Por el momento experimentaré con la conversión a ViewComponents, pero me encantaría recibir algunos consejos al respecto, gracias.
fuente