【问题标题】:Razor print variable near HTML numberHTML数字中的剃刀打印变量
【发布时间】:2015-02-20 12:27:53
【问题描述】:

今天我有一个非常菜鸟的问题要问你。请记住,这是我在 Razor 的第一个项目,所以不要太苛刻:)

当我将变量打印到模板时会出现问题。 当它是一个简单的字符串时我没有问题,但是当它是一个数字时它只是不打印值。

作品

string url = @CurrentPage.Site.Replace("http://", "").Replace("https://", "");
<a href="//@url" target="_blank">@url</a>
// prints - <a href="//www.google.pt" target="_blank">www.google.pt</a>

没用

string num = @CurrentPage.Telefone.Replace(" ", "");
<a href="tel:+123@num">@CurrentPage.Telefone</a>
// prints - <a href="tel:+123@num">123 456 789</a>

谁能解释为什么会这样?

谢谢:)

【问题讨论】:

标签: asp.net-mvc razor


【解决方案1】:

您可以考虑查看此快速参考: http://haacked.com/archive/2011/01/06/razor-syntax-quick-reference.aspx/

@{
    string num = @CurrentPage.Telefone.Replace(" ", "");
}
<a href="tel:+123@(num)">@CurrentPage.Telefone</a>

您必须用() 包围num,否则剃须刀引擎会认为您正在尝试添加电子邮件地址或类似的东西。

【讨论】:

    【解决方案2】:

    只需输入&lt;a href="tel:+351@(num)"&gt;@CurrentPage.Telefone&lt;/a&gt; ;)

    【讨论】:

      【解决方案3】:

      试试这个:

      string num = @CurrentPage.Telefone.Replace(" ", "");
      <a href="tel:+123@Html.Raw(num)">@CurrentPage.Telefone</a>
      // prints - <a href="tel:+123@num">123 456 789</a>
      

      尝试使用@Html.Raw(num) instead of @num

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-04-02
        • 1970-01-01
        • 2015-02-07
        • 1970-01-01
        • 2016-01-15
        • 1970-01-01
        • 2020-11-16
        • 2018-05-19
        相关资源
        最近更新 更多