Ma vue ASP.NET MVC devient "encombrée" parce que souvent j'ai besoin de montrer conditionnellement ce qui conduit à un code C# long, y compris des instructions opérateur ternaires difficiles à lire (exemples de démonstration) et des constructions similaires.ASP.NET MVC: Combien de traitement dans la vue et quand utiliser les méthodes auxiliaires?
<%= Model.SupportsFeature ? Model.HasName ? "This model supports the feature and has a name" : "This model supports the feature and has no name" : "This model doesn't support the feature" %>
Maintenant, dois-je garder cette logique (toujours vue liée) dans la vue, ou devrais-je plutôt:
1) Ecrire un HtmlHelper GetSupportedText (cette ... Méthode d'extension
?2) Écrire une méthode d'extension à la classe Modèle réelle? J'essaie de garder mon code concis et de garder les choses liées ensemble, mais je ne sais vraiment pas comment structurer cela et gérer les vues qui deviennent encombrées avec <%%>.
Merci pour vos commentaires à ce sujet!
EDIT: Je suis également préoccupé par la mise en HTML à partir d'une méthode d'aide C# (sous forme de chaîne) - qui est difficile à déboguer un vraiment laid.
Je pense que si cela ne concerne que la sortie de texte (comme dans mon exemple ci-dessus) sans HTML nécessaire alors une nouvelle propriété comme vous l'avez suggéré est bonne. Quand il s'agit de HTML, alors peut-être qu'une classe d'aide serait meilleure. – Alex