是否可以使用基于复选框的 MVC 提交 GUID 列表?

Is it possible to Submit a list of GUIDS with MVC based on checkbox?

所以我面临这个问题,我不记得如何解决它,但我确定它需要一些手工来通过使用剃刀来实现它(没有 jquery)

基本上你有

型号

public class MyModel {
    --Post will write here:
    public List<Guid> SelectedIds {get; set;}

    --This is the actual list of values, ids, etc...
    public List<Option> Options {get;}
}

控制器

[HttpPost]
    public ActionResult Save (MyModel model)

Class 选项

public class Option {
    public String Name {get; set;}
    public Guid Id {get; set;}
}

问题:

我想要一个绑定到 "Options" 属性 的复选框列表,但是当我提交表单时,我只想检索所选值的 IDS,如果我可以把它们放在 "SelectedIds" 属性.

里面

知道如何解决这个问题吗?

提前致谢。

所以,手工制作的方式可能是这样的:

for(int i = 0; i < Model.Options.Count; i++)
  {
    @Html.HiddenFor(m => m.Options[i].ID)
    @Html.CheckBoxFor(m => m.Options[i].IsSelected)
    @Html.LabelFor(m => m.Options[i].IsSelected, Model.Options[i].Name)
  }

但除此之外,我需要为我的 "Option" 创建一个新的 class,以包含 IsSelected 标志。 (通常我的数据库中没有这个字段作为值,它会导致 MxN 记录的表示)

另外,Class选项是auto-generated,所以改变它是个坏主意,继承就足够了。

public class OptionSelectable : Option {
    public Boolean IsSelected {get; set;}
}

就是这样,感谢@Stephen Muecke 的提示