MVC Razor从带有FormCollection的select中获取选项值

时间:2014-01-23 08:43:07

标签: html asp.net-mvc select razor formcollection

我的视图中有一个从我的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");
    }

这给了我一个空值。

2 个答案:

答案 0 :(得分:20)

尝试使用此方法获取formcollection中的控件值

formCollection["inputRole"]

您的代码变为

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

答案 1 :(得分:6)

您可以通过其名称以这种方式访问​​您的表单字段

    String role = formCollection["inputRole"];