引数を使用して、ドロップダウンリストの変更をコントローラーに自動送信しようとしています。POST は発生しますが、このエラーしか表示されません
パラメータ ディクショナリに、「shopping.WebUI」のメソッド「System.Web.Mvc.ViewResult Index(System.String, System.String, Int32)」の null 非許容型「System.Int32」のパラメータ「category」の null エントリが含まれています.Controllers.HomeController'. オプションのパラメーターは、参照型または null 許容型であるか、オプションのパラメーターとして宣言する必要があります。パラメータ名: パラメータ
JQueryスクリプトがあります
$(".autoSubmit select").change(function () {
$(this).closest('form').submit();
});
ビューのフォーム
@using (Html.BeginForm("Index", "Home", FormMethod.Post))
{
@Html.Action("ShipToCountry", "Filters", new { Model.SelectedCountry })
}
ただし、このアクションに POST する必要があります
[HttpPost]
public ViewResult Index(string country, string currency, int category)
{
var viewModel = new MainViewModel
{
SelectedCountry = country,
SelectedCurrency = currency,
Categories = category }
};
return View(viewModel);
}
国、通貨、カテゴリのいずれの引数もオプションではありません。
これらのパラメーターをアクションに渡すには、おそらくビューでどのような変更を加える必要がありますか?
ありがとう