asp.net-mvc-3 - 在 razor 语句之间输出 HTML 文字会导致编译错误

标签 asp.net-mvc-3 razor

我有一个 foo 对象,我想输出:

标题、地点

所以我尝试...:

@if (sometruestuff){
    @foo.Title, @foo.Location
}

@if (sometruestuff){
    @foo.Title , @foo.Location
}

两者都无法编译。

但是...:

@if (sometruestuff){
    @foo.Title<span>,</span> @foo.Location
}

...有效。

我缺少什么技巧吗?

编辑:这发生在代码块内,已更新以反射(reflect)这一点。

最佳答案

您可以使用 @: 转义 , 因为 Razor 解析器将其视为服务器端代码的一部分,并且如果您想按原样输出逗号需要转义的 HTML:

@if (sometruestuff){
    @foo.Title@:, @foo.Location
}

关于asp.net-mvc-3 - 在 razor 语句之间输出 HTML 文字会导致编译错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4907397/

相关文章:

c# - 在 Razor 中使用站点根目录相关链接

asp.net-mvc-3 - MVC3 不显眼的验证生成的 HTML5 表单属性可以吗?

asp.net-mvc-3 - MVC3 AJAX 级联下拉列表

c# - 将 TDD 与 MVC3 结合使用的好库

javascript - Razor 在 javascript 中查看 if/else 语句

c# - 相当于 FromQuery 属性的 Razor

asp.net-mvc-3 - 将 T4MVC 与 MvcContrib.TestHelper AssertViewRendered 结合使用时如何测试默认 View

c# - 模板只能与字段访问、属性访问、一维数组索引错误一起使用

jquery - .NET MVC Ajax 表单保留旧的输入值 - 如何更新到模型的值?

Javascript 在客户端添加 Razor 标签,ASP.NET MVC