c# - 将多个复选框值传递到模型 .net mvc 的更深层次

标签 c# asp.net-mvc checkbox

之前曾问过一些类似的问题,但我的用例有点不同。

这是我的模型:

  public class YourModel
  {
        public string[] Suburb { get; set; }
  }

我的观点:

    <input name="Suburb" type="checkbox" value="sydney" /><span>sydney</span>
    <input name="Suburb" type="checkbox" value="melbourne" /><span>melbourne</span>

Controller :

 public ActionResult AdvancedSearch(YourModel s)
 {
      // logic
 }

因此,MVC 足够智能,可以检索多个复选框值,并将它们放入 YourModel 模型的 Suburb 数组中。我可以检查那里的所有值。但我的用例是 YourModel 只是另一个模型 MyModel 中的嵌套模型:

  public class MyModel
  {
        //other properties
        public YourModel m { get; set; }
  }

那么现在如何让 MVC 将复选框值发布到更深的模型 MyModel.YourModel ?我尝试过 @Html.CheckBoxFor@Html.CheckBox 但它们都不起作用。

现在我的解决方法是在外部模型中添加一个临时数组占位符,然后在可用时将所有数据分配给内部模型,但这绝对不理想。

最佳答案

您需要使用添加MyModel

<input name="m.Suburb" type="checkbox" value="sydney" /><span>sydney</span>
<input name="m.Suburb" type="checkbox" value="melbourne" /><span>melbourne</span>

关于c# - 将多个复选框值传递到模型 .net mvc 的更深层次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48541125/

相关文章:

javascript - 如何在单击一个复选框时禁用其他复选框?

html - float 属性是否会影响复选框的功能?

c# - 将字符串值与枚举的字符串值进行比较

c# - 合并两个表达式的结果

c# - 启动新线程时抛出IndexOutOfRangeException

jquery - Javascript 和 MVC 返回类型

javascript - 如何为每个查询结果添加复选框?

c# - 为什么我不能在 lock 语句的主体中使用 'await' 运算符?

c# - 把上午改成下午?

c# - Asp.net MVC 中的部分 View 有什么意义