以下是一个将视图中的布尔值映射为视图模型中的整数列表的示例解决方案:
首先,定义一个视图模型类,其中包含布尔值属性和整数列表属性:
public class MyViewModel
{
public bool MyBoolValue { get; set; }
public List MyIntList { get; set; }
}
然后,在控制器中创建一个视图,并在视图中使用一个复选框来设置布尔值:
public class MyController : Controller
{
public IActionResult Index()
{
MyViewModel viewModel = new MyViewModel();
viewModel.MyIntList = new List();
return View(viewModel);
}
[HttpPost]
public IActionResult Index(MyViewModel viewModel)
{
if (viewModel.MyBoolValue)
{
// 当复选框被选中时,将整数1添加到整数列表中
viewModel.MyIntList.Add(1);
}
else
{
// 当复选框未选中时,将整数0添加到整数列表中
viewModel.MyIntList.Add(0);
}
return View(viewModel);
}
}
在视图中,使用Html.CheckBoxFor来呈现复选框,并使用Html.HiddenFor来保存整数列表:
@model MyViewModel
@using (Html.BeginForm())
{
@Html.CheckBoxFor(m => m.MyBoolValue)
@Html.HiddenFor(m => m.MyIntList)
}
当表单被提交时,控制器的HttpPost动作方法将根据复选框的选中状态来添加相应的整数值到整数列表中。