在Razor视图中打印单个逗号(或其他字符)

时间:2012-10-15 21:00:30

标签: asp.net-mvc razor

我有一个看似非常小的问题,但我无法找到解决方案:

在Razor视图中,我有类似的东西:

<p>
@if (someCondition){
   foreach (Sometype s in Model.ListOfSomeTypes){
      @s.Name @//There is a space in front here.
   }
}
</p>

但是我想让所有的名字都用逗号分隔,所以我基本上想做这样的事情:

<p>
@if (someCondition){
   foreach (Sometype s in Model.ListOfSomeTypes){
      @s.Name, 
   }
}
</p>

然而,剃刀吓坏了。我怎样才能达到这样的效果呢?


我尝试过这样的变化:

@{','} @s.Name @//No good
@"," @s.Name @//No good
@{","} @s.Name @//No good
@StringVariableContainingComma @s.Name @//This works, but seems to be very unnessecary to me.

聚苯乙烯。我知道上面建议的逗号分隔的解决方案的解决方案并不适当。删除条件以便于阅读问题。

4 个答案:

答案 0 :(得分:4)

使用常规括号指定explicit code nugget

@(s.Name), @(...)

答案 1 :(得分:4)

<text>代码应该为您完成。

<p>
@if (someCondition){
   foreach (Sometype s in Model.ListOfSomeTypes){
      @s.Name<text>, </text>
   }
}
</p>

答案 2 :(得分:1)

这应该这样做 - 虽然你会有尾随逗号

@foreach (Sometype s in Model.ListOfSomeTypes){
    @(s.Name+",")
}

@if (someCondition){
   @String.Join(",", Model.ListOfSomeTypes.Select(s => s.name));
}

答案 3 :(得分:0)

<p>
@if (someCondition){
   foreach (Sometype s in Model.ListOfSomeTypes){
      @s.Name<span>, </span>@s.City
   }
}
</p>

你可以使用span标签