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

例:
<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>

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

相关文章

本程序的编译和运行环境如下(如果有运行方面的问题欢迎在评...
水了一学期的院选修,万万没想到期末考试还有比较硬核的编程...
补充一下,先前文章末尾给出的下载链接的完整代码含有部分C&...
思路如标题所说采用模N取余法,难点是这个除法过程如何实现。...
本篇博客有更新!!!更新后效果图如下: 文章末尾的完整代码...
刚开始学习模块化程序设计时,估计大家都被形参和实参搞迷糊...