Domanda

Mi stavo solo chiedendo come e quando le persone utilizzano i modelli Editor/Visualizzazione rispetto ai modelli Editor/Visualizzazione.Helper HTML.Nello specifico sto parlando del suo utilizzo nel rendering di diversi controlli dell'interfaccia utente piuttosto che nel rendering di entità.

Ad esempio, ho qualcosa di simile al seguente bancomat:

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

Ma ultimamente mi chiedo se dovrei fare questo:

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

Ma se scelgo questa seconda opzione, ha molto senso usare l'editor centrale per...Sarei semplicemente un benestante utilizzando Html.Textbox e avrei il vantaggio di poter impostare qualsiasi proprietà HTML che mi piace.

Mi interessa quali modelli usano le persone qui...Qualche idea?

Saluti Anthony

È stato utile?

Soluzione

EditorFor e DisplayFor sono gli aspetti più potenti di MVC 2 e secondo me dovrebbero essere usati e abusati il ​​più possibile.

Passa al blog di Brad Wilson e scopri come estendere i modelli di oggetti per estrarre rapidamente schermate basate su convenzioni da ViewModels decorate con attributi:http://bradwilson.typepad.com/blog/2009/10/aspnet-mvc-2-templates-part-5-master-page-templates.html

Sto utilizzando questa tecnica in un progetto attuale e finora non è stata scritta nemmeno una riga di HTML per una singola schermata.:D

Altri suggerimenti

Mi piace così tanto il secondo.

È elegante e ti libera da quelle corde buggine :)

Ho modificato (anzi, in fase di modifica) il T4 Edit, Create, E View modelli per sputare il codice che desidero.Quel codice non ne usa nessuno DisplayFor O EditorFor metodi.Non ho approfondito il codice di questi metodi, ma sono abbastanza certo che vedrai alcune riflessioni in corso lì dentro.I miei modelli modificati attualmente vengono generati TextBoxFor, DropDownListFor, E CheckBoxFor.

Se preferisci, potresti utilizzare il metodo nel post di Brad Wilson menzionato da Jfar.Come minimo farei in modo che i modelli spuntino il codice per ciascun campo utilizzando DisplayFor O EditorFor quindi puoi tornare indietro più tardi, puoi passare a un editor specifico e aggiungere tutti gli attributi necessari per il campo di input.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top