asp.net - 如何使用 ? : if statements with Razor and inline code blocks

标签 asp.net asp.net-mvc asp.net-mvc-3 syntax razor

我正在使用新的 Razore View 引擎更新旧的 .aspx View 。我有很多地方都有这样的代码:

<span class="vote-up<%= puzzle.UserVote == VoteType.Up ? "-selected" : "" %>">Vote Up</span>

理想情况下我想这样做:

<span class="vote-up@{puzzle.UserVote == VoteType.Up ? "-selected" : ""}">Vote Up</span>

但是这里有两个问题:

  1. vote-up@{puzzle.UserVote .... 未将 @ 符号视为代码块的开头
  2. @puzzle.UserVote == VoteType.Up 查看第一部分@puzzle.UserVote,就好像它应该呈现变量的值一样。

有人知道如何解决这些问题吗?

最佳答案

这应该有效:

<span class="vote-up@(puzzle.UserVote == VoteType.Up ? "-selected" : "")">Vote Up</span>

关于asp.net - 如何使用 ? : if statements with Razor and inline code blocks,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4770605/

相关文章:

asp.net - 如何使用 jQuery 从 ASP.NET 服务器控件传递值?

c# - 编译转换 : The type 'Object' is defined in an assembly that is not referenced

.net - 如何提高 ASP.NET MVC 应用程序性能?

asp.net-mvc - IIS服务器和Windows文件系统软链接(soft link)

asp.net-mvc-3 - 下拉列表为默认值

ASP.NET:TextBox.Text 没有更新的值

asp.net-mvc - 在 Azure 上部署后无法加载文件或程序集“System.IdentityModel.Tokens.Jwt”

javascript - 如何在用户每次访问网站时加载最新的javascript文件

c# - 在 Mvc 3 razor View 中,基于模型中的空值有条件地呈现 html 的最佳方法是什么

c# - 将 HTML 格式粘贴到 C# 中的 System.String 对象中