[英]Pass ViewBag to PartialView from action controller that returns that PartialView
I have an action controller that returns a partial view with a query. 我有一个动作控制器,它返回带有查询的局部视图。 In this controller I have a viewbag with another query that I want to pass to the partial view so I can use it in a foreach.
在此控制器中,我有一个视图袋,其中包含另一个查询,我希望将其传递给部分视图,以便可以在foreach中使用它。
Here is my code: 这是我的代码:
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());
}
How can I pass ViewBag.OccDetails to the _QuizResults partial view? 如何将ViewBag.OccDetails传递给_QuizResults部分视图?
In my partial view I have: 在我的部分观点中,我有:
@model IEnumerable<Proj.Models.QuestionnaireViewModel>
@foreach (var item in ViewBag.OccDetails)
{
@item.OccupationDescriptionOc
}
But I get the error: "Object reference not set to an instance of an object" 但是我得到了错误:“对象引用未设置为对象的实例”
You do not need to send ViewBag, everything is already done for you just use this way... 您无需发送ViewBag,只需使用这种方式就可以完成所有工作...
For example: 例如:
@foreach (var item in (IEnumerable<OccupationDetails>)ViewBag.OccDetails)
{
}
What does your _QuizResults partial view look like? _QuizResults局部视图是什么样的? You should be able to access it directly in the view using:
您应该可以使用以下方法直接在视图中访问它:
@ViewBag.OccDetails
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.