MVC Razor получает значение параметра из выбора с помощью FormCollection

В моем представлении есть Select с элементами (параметрами) из моей ViewModel.

        @using (Html.BeginForm("NewUser", "Admin"))
        {
             <select multiple="" id="inputRole" class="form-control" size="6" name="inputRole">
             @foreach (var item in Model.roller)
             {
                 <option>@item.Name</option>
             }
             </select>
         }

Как я могу получить выбранное значение в своем контроллере?

    [HttpPost]
    public ActionResult NewUser(FormCollection formCollection)
    {
        String roleValue1 = formCollection.Get("inputRole");
    }

Это дает мне нулевое значение.


person Lord Vermillion    schedule 23.01.2014    source источник


Ответы (2)


Попробуйте это, чтобы получить значение контроля в коллекции форм

formCollection["inputRole"]

Ваш код становится

[HttpPost]
    public ActionResult NewUser(FormCollection formCollection)
    {
        String roleValue1 = formCollection["inputRole"];
    }
person Nitin Varpe    schedule 23.01.2014

Вы можете просто получить доступ к своему полю формы по его имени таким образом

    String role = formCollection["inputRole"];
person Usman    schedule 23.01.2014