用列表填充mvc中的下拉框

populating drop down box in mvc with list

这里是我的控制器代码

public ActionResult Index()
        {
            List<dropdown> lobj = new List<dropdown>();
            //DataLayer.DbOperation dob = new DataLayer.DbOperation();
            data.db odb = new data.db();
            DataSet ds = new DataSet();
            ds = odb.LoadGrid();
            foreach (DataRow dr in ds.Tables[0].Rows)//adding data to the List from Data set
            {
                lobj.Add(new dropdown
                {
                    data = dr["city"].ToString()    
                });

                ViewBag.city = new SelectList(lobj);
            }

            return View();
        }

这是我的查看页面代码

            @Html.DropDownList("city")

它在下拉列表中显示六次 "mvc.models.dropdownlist" 个名字 但不显示城市名称 请帮我提前谢谢

这是因为您正在创建视图无法正确读取的匿名类型。

试试这个:

lobj.Add(new SelectListItem
{
    Value = dr["city"].ToString(),
    Text = dr["city"].ToString() 
});

(这是一道经典题,一定是重复的,但我找不到完全匹配的)