1

我有 DropDownList 从我的数据库中读取文件并在我的 DropDownList 中显示这些文件。

当前解决方案显示在我的 DropDownListItem System.Web.Mvc.SelectList 而不是我的 Object 属性上。我想在我的网页中包含我的对象(从数据库中读取)的下拉列表。

这是我的对象:

public class MyObject
{
    public int id { get; set; }
    public string fileName { get; set; }
    public string browser { get; set; }    
    public string protocol { get; set; }    
    public string family { get; set; }
}

我的控制器:

public ActionResult Index()
{
    List<MyObject> list = db.MyObjects.Where(x => x.family == "Web").ToList();
    ViewBag.Files = new SelectList(list, "Id", "protocol");
    return View();
}

我也尝试:

List<MyObject> list = db.Captures.Where(x => x.family == "Web")
         .DistinctBy(y => y.protocol)
         .ToList();

索引.cshtml

  @Html.DropDownList("File", new SelectList(ViewBag.Files), "Select webmail site", new { style = "vertical-align:middle;" })

我想在 DropDownList 中看到的是我的协议属性。以上所有都无济于事,我一直能看到的是System.Web.Mvc.SelectList

4

1 回答 1

0

将您的控制器更改为:

public ActionResult Index()
{
    ViewBag.Files = db.MyObjects.Where(x => x.family == "Web").ToList();
    return View();
}

和你的Index.cshtml

@Html.DropDownList("File", new SelectList(list, "Id", "protocol"), "Select webmail site", new { style = "vertical-align:middle;" })
于 2013-11-10T14:05:02.130 回答