Je dois au fait (involontairement) que je ressens dans certaines parties je fais trop dans la vue (.aspx) elle-même, trop de formatage, de concaténation, dans un endroit un peu regex remplacer.Devrait Voir les modèles dans ASP.Net MVC être toutes les chaînes?
Je commençais à travailler sur une nouvelle partie et j'essayais d'améliorer mon approche .. Alors ça m'a frappé pourquoi je ne fais pas juste tous mes modèles View (in/Models/in .Web project) des chaînes ou une liste de la chaîne à une poussée. Note: Je ne parle pas de mon modèle/domaine, mais plutôt de mon 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;
}
Pour la soumission de formulaire (ajout d'édition) J'utilise un modèle de vue séparé pour alimenter l'action du contrôleur (modèle de formulaire si vous voulez dans/Modèles/formulaire). Donc, FinanceQuoteForm contient des doubles etc ... construits via un classeur.
Qu'est-ce que tout le monde pense de cette approche? Est-ce que faire le .ToString ("C") dans le mapping du domaine pour voir le modèle trop?
Il ne parle pas du modèle de domaine - il parle du modèle de vue. –
Mark. Correct. Je ne parle pas de mon modèle. Je me réfère spécifiquement à mon View Model que mes actions de contrôleur génèrent (soit manuellement, automapper ou autre - petit détail d'impl) et envoyer à la vue pour le rendu. –
Je suis d'accord sur ck, Voir le modèle est celui pour "formater" des données. En transmettant UNIQUEMENT des chaînes, vous perdez la possibilité pour le modèle de vue de formater les données. Un exemple simple que je peux avoir, c'est que si vous passez une "date" comme une chaîne pour voir le modèle, alors vous avez besoin de manipulation supplémentaire dans le contrôleur pour servir le contenu à un visiteur américain ou un visiteur britannique. – xandy