使用ViewBag和DropDownListFor显示数据

时间:2017-08-01 11:24:56

标签: c# json asp.net-mvc razor

我正在尝试使用ViewBag显示数据,但我不知道如何使用DropDownListFor的id,这是我的代码

控制器:

 public ActionResult Index()
    {
        var liprojs = (from p in db.Projets
                       join uip in db.UtilisateurInProjets on p.ProjetId equals uip.ProjetId
                       where uip.UtilisateurId == 156
                       select new { p.Libelle }).ToList();
        ViewBag.liprojs2 = liprojs.First().Libelle;
        return View();
    } 

查看:

@foreach (var item in ViewBag.liprojs2)
                {
                    @item
                }

我得到id为156的项目的名称,但我想显示该项目,这要归功于DropDownListFor的选定值。

1 个答案:

答案 0 :(得分:0)

我不知道你的数据库结构是什么,所以我尝试制作一个你的模型 可以尝试使用。

控制器

public ActionResult Index()
{
    List<SelectListItem> liprojsList = (from p in db.Projets
                   join uip in db.UtilisateurInProjets on p.ProjetId equals uip.ProjetId
                   where uip.UtilisateurId == 156
                   select new SelectListItem { Value = p.Libelle.Id.ToString(), Text = p.Libelle.Name }).ToList();

    ViewBag.liprojs = liprojsList;

    return View();
}

然后在你的视图中使用这样的东西?

@Html.DropDownListFor(x => x.PropertyToStoreValue, ViewBag.liprojs)