如何将选定值DropDownList从View Razor发送到控制器MVC

时间:2017-02-09 15:54:55

标签: asp.net-mvc asp.net-mvc-4 razor

我在HTTPGET控制器

中有这个
SelectList ConvenioList = Utilidades.ObtenerConveniosList();
ViewData["ConveniosList"] = ConvenioList;
return View();

在剃刀视图中,我有代码表示DropDownList中的列表,如下所示:

@Html.DropDownList("ConveniosList", (IEnumerable<SelectListItem>)ViewData["ConveniosList"], new { @class = "form-control pull-right", @id = "ConvenioId", @style = "color:black;" })

然后The List在屏幕上显示如下:

带数据的DropDownList

我想要一个选定的项目和峰值搜索按钮在控制器POST中获取值选择如下:

 [HttpPost]
  public ActionResult Transactions (string rangofecha, [<selected list value>] , string referencia)
  { //do soothing with the values received  }

1 个答案:

答案 0 :(得分:1)

在你的视图中你有这个:

@Html.DropDownList("ConveniosList", (IEnumerable<SelectListItem>)ViewData["ConveniosList"], new { @class = "form-control pull-right", @id = "ConvenioId", @style = "color:black;" })

在MVC中,模型绑定依赖于元素的名称..在您的情况下,下拉列表的名称是ConveniosList(DropDownList重载中的第一个参数)。

因此,在您的控制器中,您将值与操作绑定在一起,您需要在参数中包含下拉列表的名称,如下所示:

public ActionResult Transactions (string rangofecha, /*[<selected list value>]*/string ConveniosList , string referencia)

您必须将ConveniosList声明为字符串的原因是因为当您从下拉列表中选择一个值时,该值将被发送到控制器..并且值的类型为字符串。

如果有帮助,请告诉我。