Sto guardando esempi di rasoio MVC3 e vedendo html.editorfor essere utilizzato e anche chiesto molto su questo forum. Perché non posso usare e passwordfor
? GrazieMVC3 perché usare html.editorfor
risposta
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.
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.
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. –