2010-05-04 7 views
1

J'ai trouvé un modèle dans mes vues comme ceci:ASP.NET MVC: raccourci pour Response.Write et String.Format

<% if (someCondition) 
    { 
     Response.Write(string.Format("Foo {0}, Bar {1} Baz {2}.", userName, someCounter, someDate)); } 
    else 
    { 
     Response.Write(string.Format("Foo is {0}.", bar)); 
    } 
%> 

Le modèle de base de if...else avec un tas de Response.Write(string.Format()) répétées pour chaque condition . L'idée ici n'est pas la réutilisation dans laquelle une vue partielle ou une méthode auxiliaire serait appropriée, mais plutôt un raccourci qui ressemblerait idéalement à Response.WriteFormattedString().

La question ici est autour de DRY et Response.Write(string.Format()). Y a-t-il de meilleures façons, ou des façons plus concises de le faire? Considérez que le codage HTML serait une fonctionnalité intéressante d'inclure, peut-être un booléen à un appel de méthode d'une certaine méthode type (extension sur Html?.

Le but est d'essayer d'éviter de multiples render blocs <%: %> et <%= %>.

y at-il une méthode d'extension évident que je suis absent? avez-vous une méthode d'extension que vous comptez sur pour obtenir cette fonctionnalité?

Répondre

3
<%: Html.Greeting(Model) %> 

... où Html.Greeting est une méthode que vous écrivez qui accepte votre modèle de page