我正在尝试使用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 + "♠" + se);
var H = Html.Raw(sh + "♥" + se);
<p> @mysuit and @H</p>
}
我用
打电话@CardHelpers.Cards("S")
静态html输出是
<p> S and <span class = "heart">♥</span></p>
所以我可以在帮助器中使用@H来创建我想要的html,但是如何传递套装(例如“S”)并创建相应的html。在这里,我只是回到S,但我想要返回的是
<span class = "spade">♠</span>
答案 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>
}