Передать выбранное значение DropDown в контроллер
У меня есть DropDownList и кнопка в моем представлении. При нажатии кнопки я хочу передать выбранное значение DropDown контроллеру. Как это сделать?
Посмотреть код как показано ниже:
@model Sample2.Models.LeaveType
@{
ViewBag.Title = "Status of Application";
}
@{
List<SelectListItem> listItems = new List<SelectListItem>();
listItems.Add(new SelectListItem
{
Text = "All",
Value = "A",
Selected = true
});
listItems.Add(new SelectListItem
{
Text = "Recommended",
Value = "R"
});
listItems.Add(new SelectListItem
{
Text = "Sanctioned",
Value = "S"
});
}
<table>
<tr>
<td>
@Html.DropDownListFor(model => model.LeaveType1, listItems, "-- Select Status --")
</td>
<td>
@using (Html.BeginForm("Index", "Home", FormMethod.Get))
{
<input type="submit" value="Show" />
}
</td>
</tr>
</table>
Код контроллера выглядит так:
public ActionResult Index(string Id)
{
using (var context = new Admin_TestEntities())
{
var data = context.Leave_GetDetails(Id).ToList();
return View(data.AsEnumerable().ToList());
}
}
** Отредактировано **
После предложений я изменил код, как показано ниже, и он работает:
@using (Html.BeginForm("Index", "Home", FormMethod.Post))
{
@Html.DropDownList("Id", listItems)
<input type="submit" value="Show" />
}
1 ответ
Решение
Вы можете сделать это так:
[Post]
public ActionResult Index(string fromList)
{
...
}
вид может выглядеть примерно так:
<div>
@Html.BeginForm("Index", "Home", FormMethod.Post)
{
@Html.DropDownListFor(model => model.LeaveType1, listItems, "-- Select Status --")
<input type="submit" />
}
</div>