【问题标题】:MVC item does not exist in the context. What is wrong?上下文中不存在 MVC 项。怎么了?
【发布时间】:2020-04-29 14:10:59
【问题描述】:

我在 MVC 中创建了一个页面,您可以在其中保存多条记录。这一切都很好。现在我想获取我正在保存的记录之一的项目 ID。我用过

int newPeriodId = db.Periods.Max(item => item.Id);

这个整数现在包含正确的 ID。我像这样保存数据:

foreach (var item in Model.Evaluation)
    item.PeriodId = newPeriodId;
    db.Evaluations.Add(item);

错误显示在 (item) 处。没有item.PeriodId = newPeriodId; 错误不会显示。 我该如何解决这个问题?

【问题讨论】:

  • 整个错误是:The name 'item' does not exist in the current context
  • 看起来缺少括号:)
  • 将 foreach 语句的主体放在花括号中:{}
  • I c#,对于那些类型的语句,(foreach、for、if等),如果没有{},那么它只执行到;的下一条指令。所以这只能在第 2 行访问item,到第 3 行,它超出了范围。

标签: c# linq model-view-controller


【解决方案1】:

请为此使用大括号

    foreach (var item in Model.Evaluation) 
    {
        item.PeriodId = newPeriodId;
        db.Evaluations.Add(item);
    }

基本上,项目超出范围,因为它不在下一行。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-04-18
    • 1970-01-01
    • 1970-01-01
    • 2013-11-06
    • 1970-01-01
    • 1970-01-01
    • 2023-03-09
    相关资源
    最近更新 更多