2012-08-16 85 views
0

我想使用WebMatrix來創建靜態html。 (想想CMS)如何使用WebMatrix中創建的幫助程序(C#Razor語法)?

我有這樣的幫手App_Code文件/ CardHelpers.cshtml

@helper Cards (string mysuit){ 

// Class Tags 
var ss = Html.Raw("<span class = \"spade\">"); 
var sh = Html.Raw("<span class = \"heart\">"); 
var se = Html.Raw("</span>"); 

// Suits 
var S = Html.Raw(ss + "&spades;" + se); 
var H = Html.Raw(sh + "&hearts;" + se); 

<p> @mysuit and @H</p> 

} 

我把它與

@CardHelpers.Cards("S") 

的靜態HTML輸出

<p> S and <span class = "heart">&hearts;</span></p> 

所以我可以在幫助器中使用@H來創建我想要的html,但是我怎樣才能通過一個套裝(例如「S」)並創建appropri吃了HTML。在這裏,我只是回到S,但我想要返回的是

<span class = "spade">&spades;</span> 

回答

0

剃刀的整點是你可以混合標記和C#語法。所以你想要做的是把一個條件或開關語句,爲給定的輸入選擇正確的輸出,如下所示:

@{ 
    string result = ""; 
    switch(mysuit) { 
    case "H": result = H; break; 
    case "S": result = S; break; 
    default: break; 
    } 
    <p> @mysuit and @result</p> 
}