Razor视图声明属性没有';它在模型上不存在

本文关键字:模型 不存在 声明 视图 属性 Razor | 更新日期: 2023-09-27 18:23:55

这是我的型号UserViewModel:

public class UserViewModel
{
    public int UserId { get; set; }
    public int GroupId { get; set; }
    public virtual Group Group { get; set; }
    public string Email { get; set; }
    public virtual List<Favorite> Favorites { get; set; }
}

我在我的用户视图中写下了以下几行:

@foreach (var lessonItem in Model.Group.Lessons)
{
    foreach (var favoriteItem in Model.Favorites)
    {
    }
}

结果是:

编译器错误消息:CS1061:"Moalem.UI.Web.Models.UserViewModel"不包含"Favorites"的定义,并且找不到接受"Moalem.UI.Web.Models.UserViewModel"类型的第一个参数的扩展方法"Favorites"(是否缺少using指令或程序集引用?)

那里出了什么问题?

Razor视图声明属性没有';它在模型上不存在

您的User视图(您没有完全显示)似乎在第一行声明:

@model Moalem.UI.Web.Models.UserViewModel

您也没有显示这个UserViewModel,但我猜它没有名为Favorites的属性。

如果显示所有相关的代码,也许可以给出更有用的答案。


根据您的编辑,还有一些问题:您的观点顶部的@model说了什么?你发布的UserViewModel的名称空间是什么?是否存在其他错误,包含模型的项目是否成功编译?除非你正在做一些真正特别的事情(事实并非如此),否则编译器总是正确的。问题出在您的代码中。