c# – Razor语法错误“只有赋值,调用,递增,递减,等待和新对象表达式才能用作语句”

前端之家收集整理的这篇文章主要介绍了c# – Razor语法错误“只有赋值,调用,递增,递减,等待和新对象表达式才能用作语句”前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我在MVC Razor视图中声明了以下语法:
@{
    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混合使用?

请帮忙.

解决方法

如果没有@,剃刀引擎会解释说话者.作为纯粹的C# – 即,只是引用一个属性,但不对它做任何事情 – 但是不能编译.简单地引用属性而不获取或设置其值的语句在C#中无效.

考虑一下这把剃刀

@foreach (var speaker in Model)
{
   var name = speaker.Name;
   @name
}

第一行是纯C#.它声明一个变量name,并使用speaker.Name的值初始化它.

第二行被解释为剃刀打印指令,它在输出中打印name的值.

猜你在找的C#相关文章