Sono arrivato al punto (involontariamente) che sento che in alcune parti sto facendo troppo nella vista (.aspx) stessa, troppa formattazione, concatenazione, in un posto un po 'regex sostituire.I modelli di vista in ASP.Net MVC dovrebbero essere tutte le stringhe?
Stavo iniziando a lavorare su una parte nuova e sto cercando di migliorare il mio approccio .. Poi mi ha colpito perché non faccio tutti i miei modelli di View (in/Models/in .Web) stringhe o un elenco di corda a una spinta. Nota: non mi riferisco al mio modello/dominio, ma piuttosto al mio ViewModel.
public class FinanceQuoteView
{
public string Provider;
public string Broker; // rather than Broker == null ? "N/A" : Broker.ToUpperCase();
public string Monthly; // rather than Monthly.ToString("C")
public string PaymentTerm; // rather than "1+" + PaymentTerm.ToString();
public string FreeInsurance; // rather than insuranceIncluded ? "Yes" : "No";
public string[] Restrictions;
}
Per l'invio Form (editing aggiungendo) Io uso una vista del modello separato per alimentare l'azione di controllo (modello di modulo se si sarà in/Modelli/Form). Quindi FinanceQuoteForm contiene doppi ecc ... costruiti tramite un raccoglitore.
Cosa pensano tutti di questo approccio? Sta facendo il .ToString ("C") nella mappatura dal dominio al modello di visualizzazione troppo?
Non sta parlando del modello di dominio: sta parlando del modello di visualizzazione. –
Mark. Corretta. Non mi riferisco al mio modello. Mi riferisco specificamente al mio modello di vista che le azioni del mio controller generano (manualmente, automapper o qualsiasi altra cosa - piccoli dettagli impl) e inviano alla vista per il rendering. –
Sono d'accordo su ck, il modello View è quello da "formattare" i dati. Passando SOLO stringhe, si perde la possibilità per il modello di visualizzazione di formattare i dati. Un semplice esempio che posso avere è che se si passa una "data" come stringa per visualizzare il modello, è necessario ulteriore manipolazione nel controller per servire il contenuto a un visitatore statunitense o un visitatore del Regno Unito. – xandy