Comment les gens utilisent-ils les modèles d'éditeur / affichage par rapport aux aides HTML?

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

  •  18-09-2019
  •  | 
  •  

Question

Je me demande comment et quand les gens utilisent des modèles d'éditeur / affichage par rapport aux aides HTML. Plus précisément, je parle de son utilisation pour rendre un contrôle d'interface utilisateur différent plutôt que de rendre des entités.

Par exemple, j'ai quelque chose comme le guichet automatique suivant:

<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>   

Mais récemment, je me demande si je devrais faire ceci:

<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>   

Mais si je vais avec cette deuxième option, il y a beaucoup de points d'utilisation de l'éditeur de milieu pour ... Je serais juste un bien en utilisant html.textbox et j'ai l'avantage de pouvoir définir n'importe quelle propriété HTML que j'aime.

Je suis intéressé quels modèles que les gens utilisent ici ... des idées?

Cheers Anthony

Était-ce utile?

La solution

Le rédacteur en chef et DisplayFor sont les aspects les plus puissants de MVC 2 et à mon avis devraient être utilisés et maltraités autant que possible.

Montez sur le blog Brad Wilsons et consultez comment vous pouvez étendre les modèles d'objet pour sortir rapidement les écrans basés sur la convention à partir de vues ViewMoDels décorées avec des attributs:http://bradwilson.typepad.com/blog/2009/10/aspnet-mvc-2templates-part-5-master-page-templates.html

J'utilise cette technique dans un projet actuel et jusqu'à présent, aucune ligne de HTML n'a même été écrite pour un écran individuel. :RÉ

Autres conseils

J'aime tellement le deuxième.

C'est élégant et vous libère de ces cordes bougnes :)

J'ai modifié (en fait, dans le processus de modification) le T4 Edit, Create, et View modèles pour cracher le code que je veux. Ce code n'utilise aucun DisplayFor ou EditorFor Méthodes. Je n'ai pas creusé le code pour ces méthodes, mais je suis assez certain que vous verrez une réflexion qui se déroule là-dedans. Mes modèles modifiés génèrent actuellement TextBoxFor, DropDownListFor, et CheckBoxFor.

Vous pouvez utiliser la méthode dans le post Brad Wilson que JFAR a mentionné si vous préférez. Au minimum, j'aurais les modèles cracher du code pour chaque champ en utilisant DisplayFor ou EditorFor afin que vous puissiez revenir plus tard peut passer à un éditeur spécifique et ajouter tous les attributs nécessaires pour le champ de saisie.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top