如何使用 ? :如果语句带有Razor和内联代码块
我用新的Razore视图引擎更新旧的.aspx视图。 我有一堆地方,我有这样的代码:
<span class="vote-up<%= puzzle.UserVote == VoteType.Up ? "-selected" : "" %>">Vote Up</span> 理想情况下,我想这样做:
 <span class="vote-up@{puzzle.UserVote == VoteType.Up ? "-selected" : ""}">Vote Up</span> 
但是这里有两个问题:
-   vote-up@{puzzle.UserVote….不把@符号视为代码块的开始
-   @puzzle.UserVote == VoteType.Up查看第一部分@puzzle.UserVote,就好像它应该呈现variables的值。
任何人都知道如何解决这些问题?
这应该工作:
 <span class="vote-up@(puzzle.UserVote == VoteType.Up ? "-selected" : "")">Vote Up</span> 
关键是将expression式封装在@分隔符后面的括号内。 你可以使任何复合expression式以这种方式工作。
 @( condition ? "true" : "false" )