0
4

2 に答える 2

0

HttpPost に関しては、View はすべての FormCollection をコントローラーに返します。したがって、フォーム要素、つまりテキストボックス、ドロップダウン、または非表示フィールドに格納されている値が常に含まれます。

あなたの場合、フォームコレクションにあり、DropDown要素に関連付けられているため、homeViewModelにはSelectedCountryプロパティの値が含まれている必要がありますが、CountryListは要素に関連付けられていないため、nullが返されます。

ビューからコントローラーにコレクションを返すには、このスレッドを見つけてください。

幸運を !!

于 2012-09-01T11:44:17.560 に答える
0

どうもありがとうクンダン、複数の非表示フィールドが問題を解決します。

 @Html.DropDownListFor(model => model.SelectedCountry, new SelectList(Model.CountryList, "CountryCode", "CountryName"), "---SELECT COUNTRY---",
                                    new { @class = "chosen", @onchange = "this.form.action='/Home/Index'; this.form.submit(); " })
            @if (Model.CountryList != null)
            {
                for (int i = 0; i < Model.CountryList.Count; i++)
                {
                    @Html.HiddenFor(model => model.CountryList[i].CountryCode) 
                    @Html.HiddenFor(model => model.CountryList[i].CountryName)
                }
            }
于 2012-09-01T13:18:44.367 に答える