【问题标题】:How can I use the helper I created in WebMatrix (C# Razor syntax)?如何使用我在 WebMatrix 中创建的帮助程序(C# Razor 语法)?
【发布时间】:2012-08-16 05:36:34
【问题描述】:

我正在尝试使用 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>

所以我可以在helper 中使用@H 来创建我想要的html,但是我怎样才能传入一套西装(例如“S”)并创建适当的html。在这里,我只是取回了S,但我想要返回的是

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

【问题讨论】:

    标签: c# razor webmatrix


    【解决方案1】:

    Razor 的全部意义在于您可以混合使用标记和 C# 语法。因此,您要做的是在其中放置一个条件或 switch 语句,为给定的输入选择正确的输出,如下所示:

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

    【讨论】:

      猜你喜欢
      • 2011-07-17
      • 1970-01-01
      • 1970-01-01
      • 2011-07-04
      • 2011-07-17
      • 2013-04-02
      • 1970-01-01
      • 2012-03-17
      • 1970-01-01
      相关资源
      最近更新 更多