IEnumerable ViewModel没有';不允许我访问模型属性

本文关键字:允许我 访问 模型 属性 不允许 ViewModel 没有 IEnumerable | 更新日期: 2023-09-27 18:25:07

Model是IEnumerable类型时,我在访问视图中的属性时遇到问题。

我的控制器代码:

//
// GET: /Home/
public ActionResult Index()
{
    List<CourseworkQuestion> courseworkQuestions = repository.GetCourseworkQuestions(repository.GetUsername()).ToList();
    List<HomeViewModel> model = new List<HomeViewModel>();
    foreach (CourseworkQuestion courseworkQuestion in courseworkQuestions)
    {
        HomeViewModel hvm = new HomeViewModel(courseworkQuestion);
        model.Add(hvm);
    }
    return View(model);
}

在我看来:

<%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/Site.Master" Inherits="System.Web.Mvc.ViewPage<IEnumerable<InternalAssessmentViewer.ViewModels.HomeViewModel>>" %>

我确信我以前也这样做过,但我不确定我是否遗漏了一些明显的东西。

IEnumerable ViewModel没有';不允许我访问模型属性

您需要在页面中包含一个使用来获取System.Collections.Generic命名空间:

<%@ Import namespace="System.Collections.Generic" %>
<%@ Import namespace="System.Linq" %> //To get all the LINQ extension methods

或者完全限定引用IEnumerable<T>:System.Web.Mvc.ViewPage>