我正在尝试在Razor中使用三元运算符,类似于this question,但是我要输出的内容包含空格。这段代码
@(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"
有人知道该怎么做吗?
最佳答案
您的value属性缺少其引号,因此会自动在空格前添加引号。尝试将value
移动到表达式之外。
value="@(selectedGoal == null ? "" : selectedGoal.Name)"
关于asp.net - 使用三元运算符在Razor中输出包含空格的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10622099/