我正在用新的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
的第一部分,就好像它应该呈现变量的值一样。
有人知道如何解决这些问题吗?
5条答案
按热度按时间7uzetpgm1#
这应该可行:
yacmzcpb2#
z8dt9xmd3#
关键是将表达式封装在@分隔符后的括号中。您可以使任何复合表达式都以这种方式工作。
ie3xauqp4#
在大多数情况下,CD..的the solution会工作得很好。但是,我遇到了一个有点扭曲的情况:
这将在我的页面中打印出我的“ “,分别生成源代码
&nbsp;
。现在有一个函数Html.Raw(" ")
,它应该让你写源代码,除了在这个星座中它抛出了一个编译器错误:编译器错误消息:CS0173:无法确定条件表达式得类型,因为在“System.Web.IHtmlString”与“string”之间没有隐式转换
因此,我最后写了一个如下的语句,这个语句不太好,但即使在我的情况下也很有效:
注意:有趣的是,一旦你在花括号内,你必须重新启动一个剃刀块。
gr8qqesn5#
在 Blazor 中 :
中 的 每 一 个