今天我有一个非常noob的问题。请记住,这是我在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>
有人可以解释为什么会这样吗?
谢谢:)
答案 0 :(得分:3)
您可以考虑查看此快速参考: 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
包围()
,否则剃刀引擎会认为您正在尝试添加电子邮件地址或类似内容。
答案 1 :(得分:2)
刚刚放<a href="tel:+351@(num)">@CurrentPage.Telefone</a>
;)
答案 2 :(得分:1)
试试这个:
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