Asp.net mvc 我的编辑视图mvc中的下拉列表

Asp.net mvc 我的编辑视图mvc中的下拉列表,asp.net-mvc,Asp.net Mvc,我有列表视图,在每一行中它都有“Actualizar”链接操作,这会将我带到编辑视图,在编辑视图中,我有一些下拉列表可用于更新现有数据,但我的大问题是,我希望下拉列表首先加载数据并保存。如何设置dropdownlist以加载模型a返回的数据并让我选择其他选项 控制器: public ActionResult ActualizarDispositivo(int id ) { dropDown(); var equipo= _db.equipo.Inclu

我有列表视图,在每一行中它都有“Actualizar”链接操作,这会将我带到编辑视图,在编辑视图中,我有一些下拉列表可用于更新现有数据,但我的大问题是,我希望下拉列表首先加载数据并保存。如何设置dropdownlist以加载模型a返回的数据并让我选择其他选项

控制器:

   public ActionResult ActualizarDispositivo(int id )
    {
        dropDown();

      var equipo= _db.equipo.Include(m=>m.marca).Include(mo=>mo.modelo.Single(b => b.idEquipo==id);

        ViewBag.idMarca = _db.marca.ToList().Select(Mar => new SelectListItem
       {
           Value = Mar.idMarca.ToString(),
           Text = Mar.Descripcion.ToString(),
           Selected = true
       });


        return View("ActualizarDispositivo",equipo);
    }
在编辑视图中,我有以下内容

  @Html.DropDownListFor(m=>m.idMarca,(IEnumerable<SelectListItem>)ViewBag.idMarca) 
@Html.DropDownListFor(m=>m.idMarca,(IEnumerable)ViewBag.idMarca)

如果您只需删除
Selected=true
,您正在使用的代码应该可以工作。当前,您正在将所有
下拉列表的值设置为选中

我不确定哪个性能更好,但我确实发现使用以下方法创建选择列表更具可读性:

ViewBag.idMarca = new SelectList(_db.marca.ToList(), "idMarca", "Descripcion");
然后,可能就没有必要投了。(不确定,我避免使用
ViewBag


它应该能工作,但它不能,我真的不知道我做错了,我已经删除了select=true,我试着做了你在上面写的事情,但没有成功。我在@Html.DropDownListFor(m=>m.idMarca,ViewBag.idMarca)上遇到一个错误
@Html.DropDownListFor(m=>m.idMarca, ViewBag.idMarca)