2010-05-04 79 views
1

我發現一個規律在我的看法是這樣的:ASP.NET MVC:快捷鍵的Response.Write和的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)); 
    } 
%> 

if...else與每個條件一堆重複Response.Write(string.Format())的基本格局。這裏的想法在部分視圖或輔助方法是合適的地方不是可重用的,而是理想上看起來像Response.WriteFormattedString()的快捷方式。

這裏的問題是圍繞DRY和Response.Write(string.Format())。有更好的,或更簡潔的方法。考慮到HTML編碼將是一個不錯的功能,包括,或許作爲一個布爾某種(擴展方法的方法調用上Html

我們的目標是儘量避免多次呈現塊<%: %><%= %>

是否有我缺少一個明顯的擴展方法? 你有,你靠什麼來實現這一功能的擴展方法是什麼?

回答

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

...其中Html.Greeting是你寫的,它接受一個方法你頁面模型。