我有一个动作控制器,它返回带有查询的局部视图。在这个控制器中,我有一个带有另一个查询的viewbag,我想传递给局部视图,所以我可以在foreach中使用它。
这是我的代码:
public ActionResult GetQuizResults(string ProfileResult, short occupationID)
var query = from o in db.Occupations
where o.Profile.Equals(ProfileResult, StringComparison.InvariantCulture)
select new QuestionnaireViewModel
{
OccupationID = o.OccupationID,
OccupationName = o.OccupationName,
OccupationDescription = o.OccupationDescription
};
QuestionnaireViewModel occDetails = new QuestionnaireViewModel();
ViewBag.OccDetails = occDetails.GetOccupationDetails(occupationID);
return PartialView("_QuizResults", query.ToList());
}
如何将ViewBag.OccDetails传递给_QuizResults局部视图?
在我的部分视图中,我有:
@model IEnumerable<Proj.Models.QuestionnaireViewModel>
@foreach (var item in ViewBag.OccDetails)
{
@item.OccupationDescriptionOc
}
但我收到错误:&#34;对象引用没有设置为对象的实例&#34;
答案 0 :(得分:1)
您不需要发送ViewBag,只需使用这种方式即可完成所有操作......
例如:
@foreach (var item in (IEnumerable<OccupationDetails>)ViewBag.OccDetails)
{
}
答案 1 :(得分:0)
您的_QuizResults部分视图是什么样的?您应该可以使用以下命令直接在视图中访问它:
@ViewBag.OccDetails