作者热门文章
- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我在 MVC Razor View 中声明以下语法:
@{
foreach (var speaker in Model)
{
speaker.Name;
}
}
出现错误
Only assignment, call, increment, decrement, await, and new object expressions can be used as a statement
我可以通过添加 @
和 speaker.Name;
来更正
但这是为什么呢?抱歉,我是 Razor 的新手,但是当我在代码块 @ {}
中时,为什么我需要再次使用 @。即使我不将它与 HTML 混合?
请帮忙。
最佳答案
如果没有 @
,razor 引擎会将 speaker.Name;
解释为纯 C#——也就是说,只是引用一个属性,但不对其进行任何操作——但是不会编译。 仅通过自身引用属性而不获取或设置其值的语句在 C# 中无效。
想想这把 Razor
@foreach (var speaker in Model)
{
var name = speaker.Name;
@name
}
第一行是纯 C#。它声明了一个变量 name
并使用 speaker.Name
的值对其进行初始化。
第二行被解释为 razor print 指令,它在输出中打印 name
的值。
关于c# - Razor 语法错误 "Only assignment, call, increment, decrement, await, and new object expressions can be used as a statement",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20623563/
我是一名优秀的程序员,十分优秀!