繁体   English   中英

在Razor中使用C#6字符串插值正确的方法

[英]Using C# 6 String interpolation in Razor the Correct Way

示例

 <button data-value="$'{@item.CustomerID}_{@item.CustomerType}'"></button>

结果

$'{34645}_{71}'

预期

34645_71

更新 :必须启用C#6并为@ smdrager的最后两种技术安装适当的包。 在VS2015中>>单击项目菜单>>单击启用6#

在您提供的示例中,不需要字符串插值。 使用标准剃刀语法,您可以获得所需的结果:

<button data-value="@(item.CustomerID)_@item.CustomerType"></button>

这将产生<button data-value="34567_123"></button>

插值的等价物将是:

@Html.Raw($"<button data-value='{item.CustomerID}_{item.CustomerType}'></button>")

但是你输掉了HTML编码以防止脚本注入(尽管你正在处理的数据类型似乎不太可能)。

编辑:

如果你想变得古怪,你可以混合两者。

<button data-value="@($"{item.CustomerID}_{item.CustomerType}")"></button>

但这更加冗长,难以阅读。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM