【问题标题】:ASP.NET MVC invalid initializer member declarator when trying to increment value尝试递增值时 ASP.NET MVC 无效的初始化程序成员声明器
【发布时间】:2018-09-04 06:44:06
【问题描述】:

正如您在下面控制器中的代码中看到的那样,我正在尝试复制现有行并分配一个新值。我收到一个错误

初始化器成员声明器无效

当我尝试增加一个值时,例如FuritureCount += 1。我该如何解决这个问题?还是有其他选择?

控制器:

var temp = db.Furnitures.Find(id);

var duplicateRow = new Furniture()
{
    FurnitureName = temp.FurnitureName,
    FurniturePrice = temp.FurniturePrice,
    FurnitureSupplier = temp.FurnitureSupplier,
    FurnitureCount += 1 //this produce error
}

db.Furnitures.Add(duplicateRow);
db.SaveChanges();

【问题讨论】:

  • 您创建了一个Furniture 的新实例。你为什么要增加它的FuritureCount,此时是0
  • 您的代码似乎与实体框架比 MVC 更相关。您应该在标签中提及它并提及版本号。它将帮助合适的人找到您的问题
  • 是的,此时为0
  • 你的意思是FuritureCount = temp.FuritureCount + 1
  • 那是一个非常奇怪的错字。

标签: c# asp.net-mvc entity-framework-4


【解决方案1】:

这与 MVC 无关。它与 C# 语法有关。此时您不能使用+= 运算符,因为您应该为FuritureCount 设置一个新值。这里唯一有效的运算符是=,后跟此属性的有效值。

此外,尽管所有教程都在控制器中显示了与您类似的代码,但这并不是一个好的设计。控制器应该为视图转换数据。数据访问应该在较低层完成,即在注入到控制器的不同类中。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多