Передайте один дополнительный параметр в метод индекса контроллера MVC в форме RePost - PullRequest
0 голосов
/ 10 мая 2019

У меня есть контроллер MVC, который принимает два параметра.

public class RiskController : Controller
{
    public ActionResult Index(int SquadId, string RiskItems = "Open")
    {
        // Do Stuff here, Populate Model, and then...
        ViewBag.SquadID = SquadId;
        Return View(Model);
    }
}

В моем представлении есть форма с выпадающим списком.

@using (Html.BeginForm("Index", "Risk", FormMethod.Get))
{
     @Html.DropDownList("RiskItems", new List<SelectListItem>
      {
              new SelectListItem() {Text = "Open Risks only", Value="Open"},
              new SelectListItem() {Text = "Closed Risks only", Value="Closed"},
              new SelectListItem() {Text = "All Risks", Value="All"}
      }, new { @class = "form-control", @style = "width:auto" })

    <button type="submit" value="Search" class="btn btn-success">Search</button>       
}

Моя цель - перезагрузить представление, когда я выбираю значение из выпадающего меню и нажимаю кнопку подтверждения.

С моим текущим кодом я могу опубликовать форму, и выпадающее значение успешно отправлено в моем контроллере в параметре RiskItems. но как мне также передать параметр SquadID из формы?

Я уже зафиксировал значение параметра SquadID внутри ViewBag. Могу ли я использовать его для повторной отправки значения в методе индекса контроллера?

1 Ответ

0 голосов
/ 10 мая 2019

Я нашел решение.Мне пришлось изменить метод Form на Post from Get и использовать это.

@using (Html.BeginForm("Index", "Risk", new { SquadId = @ViewBag.SquadID }, FormMethod.Post, new { enctype = "multipart/form-data" }))` 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...