0

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>
4

1 に答える 1

0

Razor の要点は、マークアップと C# 構文を混在できることです。したがって、次のように、指定された入力に対して正しい出力を選択する条件ステートメントまたは switch ステートメントを配置する必要があります。

@{ 
  string result = "";
  switch(mysuit) { 
    case "H": result = H; break;
    case "S": result = S; break;
    default: break;
  }
  <p> @mysuit and @result</p>
}
于 2012-08-16T05:56:57.637 に答える