0
私のViewModelには、次の2つのリストがあります(1つはフォーム内の使用可能なカテゴリをすべて表示するために使用され、もう1つは選択されたユーザーカテゴリ値):モデルバインダーが正しくSelectedCategoryValuesリストを結合されたフォームを送信するとチェックボックスリストの値は、ASP.NET Core MVCのビューGETリクエストにバインドされていません
@foreach (var category in Model.Categories) {
<div class="checkbox">
<label><input type="checkbox" name="SelectedCategoryValues"
value="@category.Value">@category.Name</label>
</div>
}
:私は私のいずれかの形式の内部で、次のしている私の見解では
public List<CategoryViewModel> Categories{ get; set; }
public List<string> SelectedCategoryValues { get; set; }
。
ただし、ページを読み込むときに、選択したチェックボックスが自動的に選択されません。
次のコードは、私の編集GETアクションである:
var vm = new ProductEditViewModel()
{
Id = product.Id,
Name = product.Name,
Categories = new List<CategoryViewModel>()
{
new CategoryViewModel() { Name = "Category 1", Value = "category1" },
new CategoryViewModel() { Name = "Category 2", Value = "category2" },
new CategoryViewModel() { Name = "Category 3", Value = "category3" }
},
SelectedCategoryValues = productCategories.Select(c => c.Value).ToList()
};
return View(vm);