IEnumerable ViewModel不允许我访问Model属性

时间:2012-02-20 15:39:06

标签: c# asp.net-mvc viewmodel ienumerable

我无法在我的视图中访问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>>" %>

我确定我之前已经这样做了,但我不确定我是否遗漏了一些明显的东西。

1 个答案:

答案 0 :(得分:0)

您需要在页面中包含一个用于获取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&GT;