Передать выбранное значение 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>
Другие вопросы по тегам