Вы должны представить ViewModel. Простой способ отправить значения - отправить POST-инстанцию ViewModel в действие контроллера.
public class FilterViewModel {
[DisplayName("Apple")]
public bool DoApplyAppleFilter { get; set; }
}
Скажите View Filter.cshtml
, чтобы использовать эту ViewModel:
@model FilterViewModel
@* this <form> will be posted to the "Filter" action in the "ProductController" *@
@using (Html.BeginForm("Filter", "Product", FormMethod.Post, new { @class = "ym-form"})) {
@Html.LabelFor(m => m.DoApplyAppleFilter) @* renders <label> with the given DisplayName for the checkbox *@
@Html.CheckBoxFor(m => m.DoApplyAppleFilter) @* renders <input type="checkbox"> *@
<button type="submit">Apply filter</button>
}
Действие контроллера:
[HttpPost]
public IActionResult Filter(FilterViewModel viewModel) {
bool isChecked = viewModel.DoApplyAppleFilter;
// ...
}
Вместо отправки <button>
вы также можете использовать AJAX для отправки <form>
или извлечь значения и использовать запрос GET.