当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>>" %>
我确信我以前也这样做过,但我不确定我是否遗漏了一些明显的东西。
您需要在页面中包含一个使用来获取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>