9

我正在尝试在 Razor 中使用三元运算符,类似于这个问题,但我想要输出的内容包含空格。这段代码

@(selectedGoal == null ? "" : "value=" + selectedGoal.Name)

应该产生

value="Goal 3"

因为 selectedGoal.Name 的值是“目标 3”。相反,我得到

value="Goal" 3

这不好。我尝试了一堆不同的转义引号、@ 符号和没有 @ 符号的组合,我就是无法让它工作,即

@(selectedGoal == null ? "" : "value=" + "selectedGoal.Name")
@(selectedGoal == null ? "" : "value=@selectedGoal.Name")

然后我得到类似的东西

value="selectedGoal.Name"

有谁知道这应该怎么做?

4

2 回答 2

14

您的 value 属性缺少自己的引号,因此它们会自动添加到空格之前。尝试移动value到表达式之外。

value="@(selectedGoal == null ? "" : selectedGoal.Name)"
于 2012-05-16T15:52:17.623 回答
0

关于什么

@(selectedGoal == null ? "" : "value=\"" + selectedGoal.Name + \")

或者您可以尝试直接将它们呈现为 HTML 块,使用我 在 Razor 三元表达式中的 Html 文字上的方法

于 2013-06-20T21:07:52.420 回答