2012-04-21 15 views

risposta

9

EditorFor ha il vantaggio che proverà a eseguire il rendering di un editor associato al tipo di dati.

Ad esempio: Se si progetta il proprio Editor Templates verranno automaticamente resi in base al tipo della proprietà o UIHint

Un editor di modelli utile potrebbe essere quella che genera una selezione data in cui il tipo della proprietà è un DateTime.

ci sono alcuni altri scenari e dove il 'intelligente' EditorFor genererà l'editor 'migliore' per la proprietà un tale esempio è quando si rende un <textarea> quando codifica della proprietà con MultilineText

Utilizzando TextBoxFor e passwordfor vanno perfettamente bene per quei casi in cui non è necessario un 'editor speciale'. Potrebbe persino semplificarti la vita quando devi impostare HtmlAttributes.

+0

Vorrei ringraziare entrambe le risposte. Questi hanno chiarito il tutto. Ho accettato questa risposta a causa dei 2 link a cui sono stato indirizzato, ottime informazioni. –

6

Rif Differences between Html.TextboxFor and Html.EditorFor in MVC and Razor per chiarire il dubbio su questo ..

Il HtmlTextboxFor crea sempre un textbox (<input type="text" ...).

Mentre l'EditorFor guarda il tipo e la meta-informazioni, e può rendere un altro controllo o un modello tu fornisci

Ad esempio per le proprietà DateTime è possibile creare un modello che utilizza jQuery DatePicker.

se si decide di cambiare qualcosa per l'aspetto di come le vostre caselle di testo sono resi come avvolgendoli in un div si potrebbe semplicemente scrivere un editor di modelli personalizzati (~/Views/Shared/EditorTemplates/string.cshtml) e tutti i tuoi caselle di testo nella vostra applicazione beneficerà automaticamente da questo cambiamento, mentre se hai hardcoded Html.TextBoxFor dovrai modificarlo ovunque.