我有DropDownList从我的数据库中读取fils并在我的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();
Index.cshtml
@Html.DropDownList("File", new SelectList(ViewBag.Files), "Select webmail site", new { style = "vertical-align:middle;" })
我想在DropDownList中看到的是我的协议属性。
所有上述内容都无济于事,我所能看到的只有System.Web.Mvc.SelectList
答案 0 :(得分: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;" })