¿Cómo están las personas que usan plantillas de editor/visualización frente a ayudantes HTML?

StackOverflow https://stackoverflow.com/questions/2203706

  •  18-09-2019
  •  | 
  •  

Pregunta

Solo me pregunto cómo y cuándo las personas están utilizando plantillas de editor/visualización frente a ayudantes HTML. Específicamente, estoy hablando de su uso en el control de la interfaz de usuario diferente en lugar de la representación de entidades.

Por ejemplo, tengo algo como el siguiente cajero automático:

<tr>
    <th><%= Html.LabelFor(x => x.ActivityTypeId) %></th>
    <td><%= Html.EditorFor(x => x.ActivityTypeList, "MultiSelectDropDownList")%></td>
</tr>
<tr>
    <th><%= Html.LabelFor(x => x.Name) %></th>
    <td><%= Html.EditorFor(x => x.Name) %></td>
</tr>
<tr>
    <th><%= Html.LabelFor(x => x.Description) %></th>
    <td><%= Html.DisplayFor(x => x.Description, "DisplayString")%></td>
</tr>   

Pero últimamente me pregunto si debería estar haciendo esto:

<tr>
    <th><%= Html.LabelFor(x => x.ActivityTypeId) %></th>
    <td><%= Html.MultiSelectDropDownList(x => x.ActivityTypeList)%></td>
</tr>
<tr>
    <th><%= Html.LabelFor(x => x.Name) %></th>
    <td><%= Html.EditorFor(x => x.Name) %></td>
</tr>
<tr>
    <th><%= Html.LabelFor(x => x.Description) %></th>
    <td><%= Html.DisplayString(x => x.Description)%></td>
</tr>   

Pero si voy con esta segunda opción, hay mucho punto de usar el editor intermedio para ... Estaría bien usando html.textbox y tengo el beneficio de poder establecer cualquier propiedad HTML que me guste.

Estoy interesado en los patrones que la gente usa aquí ... ¿alguna idea?

Saludos Anthony

¿Fue útil?

Solución

Editorfor y Displayfor son los aspectos más poderosos de MVC 2 y, en mi opinión, deben usarse y abusar tanto como sea posible.

Sube al blog Brad Wilsons y mira cómo puede extender las plantillas de objetos para sacar rápidamente las pantallas basadas en la convención de ViewModels decorados con atributos:http://bradwilson.typepad.com/blog/2009/10/aspnet-mvc-2-templates-tart-5-master-page-templates.html

Estoy usando esta técnica en un proyecto actual y hasta ahora no se ha escrito una línea de HTML para una pantalla individual. :D

Otros consejos

Me gusta tanto el segundo.

Es elegante y te libera de esas cuerdas buggus :)

He modificado (en realidad, en el proceso de modificación) el T4 Edit, Create, y View plantillas para escupir el código que quiero. Ese código no usa ningún DisplayFor o EditorFor métodos. No he profundizado en el código de estos métodos, pero estoy bastante seguro de que verás algo de reflexión allí. Mis plantillas modificadas se generan actualmente TextBoxFor, DropDownListFor, y CheckBoxFor.

Puede usar el método en Brad Wilson Post que JFAR mencionó si lo prefiere. Como mínimo, tendría que las plantillas escupir el código para cada campo usando DisplayFor o EditorFor Por lo tanto, podría regresar más tarde puede cambiar a un editor específico y agregar los atributos necesarios para el campo de entrada.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top