如何使用我在WebMatrix中创建的帮助程序(C#Razor语法)?

时间:2012-08-16 05:36:34

标签: c# razor webmatrix

我正在尝试使用WebMatrix来创建静态html。 (想想CMS。)

我在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”)并创建相应的html。在这里,我只是回到S,但我想要返回的是

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

1 个答案:

答案 0 :(得分:0)

Razor的重点在于你可以混合使用标记和C#语法。所以你要做的是放入一个条件或开关语句,为给定的输入选择正确的输出,如下所示:

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