我对类型有很强的类型观
List<List<MyViewModelClass>>
外部列表总是有两个列表List<MyViewModelClass>
。对于两个外部列表中的每一个,我想显示一组复选框。每组可以有任意数量的选择。
我的视图模型类看起来与此类似:
public class MyViewModelClass
{
public Area Area { get; set; }
public bool IsGeneric { get; set; }
public string Code { get; set; }
public bool IsChecked { get; set; }
}
所以最终的视图将类似于:
请选择适用的:
第一组选择:
-
x Option 1
-
x Option 2
-
x Option 3
- etc.
第二组选择:
-
x Second Option 1
-
x Second Option 2
-
x Second Option 3
-
x Second Option 4
- etc.
应显示复选框MyViewModelClass.Area.Name
,它们的值应该与MyViewModelClass.Area.Id
。检查状态当然与MyViewModel.IsChecked
.
Question
我想知道我应该如何使用Html.CheckBox()
or Html.CheckBoxFor()
显示我的复选框的助手?当然,我必须在回发时将这些值返回到服务器。
我想让我的控制器执行以下操作之一:
public ActionResult ConsumeSelections(List<List<MyViewModelClass>> data)
{
// process data
}
public ActionResult ConsumeSelections(List<MyViewModelClass> first, List<MyViewModelClass> second)
{
// process data
}
如果它让事情变得更简单,我可以制作一个单独的视图模型类型,例如:
public class Options
{
public List<MyViewModelClass> First { get; set; }
public List<MyViewModelClass> Second { get; set; }
}
以及将我的第一个版本的控制器操作更改为:
public ActionResult ConsumeSelections(Options data)
{
// process data
}