【问题标题】:Is it possible to Submit a list of GUIDS with MVC based on checkbox?是否可以根据复选框提交带有 MVC 的 GUIDS 列表?
【发布时间】:2018-04-07 17:02:52
【问题描述】:

所以我面临这个问题,我不记得如何解决它,但我确信它需要一些手工来通过使用 razor(不带 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)

类选项

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

问题:

我想要一个绑定到“选项”属性的复选框列表,但是当我提交表单时,我想只检索选定值的 IDS,如果我可以将它们放在“SelectedIds”中会很棒属性。

有什么办法解决这个问题吗?

提前致谢。

【问题讨论】:

标签: asp.net-mvc razor checkbox html-helper


【解决方案1】:

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

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)
  }

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

此外,Class Option 是自动生成的,因此更改它是个坏主意,而继承就足够了。

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-03-13
    • 1970-01-01
    • 2015-03-14
    • 1970-01-01
    • 2022-11-09
    • 1970-01-01
    • 2010-10-03
    • 2012-02-29
    相关资源
    最近更新 更多