是否可以使用基于复选框的 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 的提示
所以我面临这个问题,我不记得如何解决它,但我确定它需要一些手工来通过使用剃刀来实现它(没有 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 的提示