如何在mvc中填充下拉列表并将其ID传递给控制器

时间:2018-04-22 03:08:14

标签: asp.net-mvc view dropdown

我有这个控制器动作

  [HttpGet]
    public ActionResult CreateTipoProyecto()
    {
        ViewBag.Categorias = _dbContext.Categoria.ToList();
        return View();
    }
    [HttpPost]

    public ActionResult CreateTipoProyecto(TipoProyectoDto tipoProyectoDto, Guid itemID)
    {
             //do something....    
        return View();
    }

我正在尝试在我的视图中创建一个下拉列表,其中所选的值ID由后期操作接收

 @Html.DropDownList("CategoriaId", (IEnumerable<EbanTabs.Models.Categoria>)ViewBag.Categorias)
//more things here...
//the post button here

我做错了什么?感谢

1 个答案:

答案 0 :(得分:1)

首先创建一个选择列表

[HttpGet]
public ActionResult CreateTipoProyecto()
{
    ViewBag.Categorias = new SelectList(_dbContext.Categoria, "CategoriaId", "column for drop down items");
    return View();
}

在视图中使用razor创建下拉列表,在后期操作中,您将从TipoProyectoDto获取对象的id。我使用以下剃刀语法来满足我的下拉需求。

@Html.DropDownList("CategoriaId", null, "Please select category", htmlAttributes: new { @class = "form-control col-md-2"})

form-control和col-md-2是css类,因此它们可能对您有用,也可能对您没用。