Asp.net mvc 创建一个ViewBag,以便可以对其进行迭代

Asp.net mvc 创建一个ViewBag,以便可以对其进行迭代,asp.net-mvc,asp.net-mvc-5,Asp.net Mvc,Asp.net Mvc 5,我有一个下拉列表,如下所示: @Html.DropDownListFor(model => model.ValResponse[i].Building, (IEnumerable<SelectListItem>)ViewBag.Building @Html.DropDownListFor(model=>model.ValResponse[i].Building,(IEnumerable)ViewBag.Building 问题是,对于model.ValResponse[i]的

我有一个下拉列表,如下所示:

@Html.DropDownListFor(model => model.ValResponse[i].Building, (IEnumerable<SelectListItem>)ViewBag.Building
@Html.DropDownListFor(model=>model.ValResponse[i].Building,(IEnumerable)ViewBag.Building

问题是,对于model.ValResponse[i]的每一次迭代.Building,我需要一个特定于该迭代的viewbag。有没有一种方法可以使用相同的新视图(在本例中为viewbag.Building)进行viewbag迭代?

我不清楚您的问题。但对于初学者来说,为什么这需要是一个viewbag?但对于这个问题,您可以在viewbag中放置任何东西,所以为什么不放置一个集合数组ons,看起来像这样的
ViewBag.DropDowns[i]。构建
?我正确理解你的问题了吗?@MickelsonMichael是的,正确,寻找像ViewBag.DropDowns[i].Building.那么是什么阻止了你这么做呢?只要你按照预期的顺序存储条目,你就不会有任何问题。因此,对你可以放入的内容几乎没有限制。集合集合是完全可行的。我仍然建议使用视图模型,但我从来都不喜欢ViewBag