C# 在 Razor 中使用字符串插值转义双引号?

标签 c# razor interpolation string-interpolation

我有以下带有三元运算符的 Razor 代码来包含或省略 data-* 属性:

 <select class="form-control"
        @(field.DependentDropdown ? $"data-selected={Model.KeyValues.GetValue(field.Name)}" : "")>

当它在 HTML 中呈现时,它是这样的:
<select class="form-control" 
        data-selected="Toyota" yaris="">

如您所见,数据选择属性的值格式不正确 - 它应该是一个用双引号括起来的单词 "Toyota Yaris" .

如何正确转义或添加双引号:
 $"data-selected={Model.KeyValues.GetValue(field.Name)}"

最佳答案

您需要的是使用很少见的 <text> 句法

例如

<h1 @{if (true) { <text>data-selected="Hello world"</text> } }>Hello</h1>

尝试这个:
 <select class="form-control"
        @{ if (field.DependentDropdown) { <text>data-selected="@Model.KeyValues.GetValue(field.Name)"</text> } }>

我很难说服它在三元运算符中工作 - 如果语法正确,请随时编辑答案

关于C# 在 Razor 中使用字符串插值转义双引号?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52335042/

相关文章:

ASP.NET 控制与 MVC 的 Razor 引擎

syntax - Razor 在节中误读了脚本内的右大括号

python - scipy.interpolate.interp2d 的问题 - s 或 m 太小 - 无法添加更多结

python - 如何使用 scipy.interpolate 中的网格数据

python - 如何在 Python 中对未排序的 2D numpy 数组进行插值并将插值值与原始值进行比较?

c# - C#.Net 中的图像压缩

c# - 在 Monotouch 中绑定(bind) extern NSString

c# - 使用 Linq to Sql 的插入过程非常慢

c# - 如何在c#中打印方法的地址?

c# - 如何从 mvc 下拉列表中获取选定值作为 C# 中的操作链接 ID