DropDownListFor通过ViewBag

时间:2014-06-17 11:26:56

标签: c# asp.net view controller

这是THIS的后续行动。

我的控制器

using (ISession session = NHIbernateSession.OpenSession())
{
    var index = session.Query<Transport>().ToList();
    List<SelectListItem> items = new List<SelectListItem>();
    foreach (var car in index)
    {
        items.Add(new SelectListItem() 
          { Text = car.Modelis.model_name, Value = car.Modelis.Id.ToString() }); 
    }
    ViewBag.Modeliai = new SelectList(items, "Id", "model_name");
    return View(items);
}

查看是这样的:

@Html.DropDownListFor(model => model.Modelis.model_name, ViewBag.Modeliai)

View代码有问题。如何将ViewBag值放入下拉列表?

1 个答案:

答案 0 :(得分:1)

我仍然不确定你真正想要选择什么,但是以下应该可以工作:

using (ISession session = NHIbernateSession.OpenSession())
{
    var index = session.Query<Transport>().ToList();
    List<SelectListItem> items = new List<SelectListItem>();
    foreach (var car in index)
    {
        items.Add(new SelectListItem() 
          { Text = car.Modelis.model_name, Value = car.Modelis.Id.ToString() }); 
    }
    ViewBag.Modeliai = items;
    return View(index);
}

foreach (var transport in Model)
{
    @Html.DropDownListFor(model => transport.Modelis.model_name, ViewBag.Modeliai)
}