从返回那个PartialView的动作控制器传递ViewBag给PartialView
本文关键字:PartialView 控制器 ViewBag 返回 | 更新日期: 2023-09-27 18:09:28
我有一个操作控制器,它返回一个带有查询的部分视图。在这个控制器中,我有一个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
}
但是我得到错误:"对象引用未设置为对象的实例"
你不需要发送ViewBag,一切都已经为你做了,只需使用这种方式…
例如:
@foreach (var item in (IEnumerable<OccupationDetails>)ViewBag.OccDetails)
{
}
你的_QuizResults部分视图看起来像什么?您应该能够在视图中使用:
直接访问它。@ViewBag.OccDetails