web-dev-qa-db-ja.com

MVC Razorは、FormCollectionを使用して選択からオプション値を取得します

私のビューには、ViewModelからの要素(オプション)を含むSelectがあります。

        @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");
    }

これは私にnull値を与えます。

11
Lord Vermillion

これを試して、フォームコレクションのコントロールの値を取得してください

formCollection["inputRole"]

あなたのコードは

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

このようにして、名前でフォームフィールドに簡単にアクセスできます

    String role = formCollection["inputRole"];
6
Usman