gpt4 book ai didi

c# - Razor 语法错误 "Only assignment, call, increment, decrement, await, and new object expressions can be used as a statement"

转载 作者:太空狗 更新时间:2023-10-29 19:59:46 27 4
gpt4 key购买 nike

我在 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/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com