【问题标题】:bind Checkbox value with textbox MVC将复选框值与文本框 MVC 绑定
【发布时间】:2015-09-25 23:12:17
【问题描述】:

我想制作一个包含 2 列的表格:- 第一个包含一个复选框,第二个包含文本框。 我想将选中的复选框与其文本框绑定,并在 mvc 的控制器中获取其值。

【问题讨论】:

  • 您是否对剃须刀感到满意,可以自己尝试完成这项小任务?如果它还没有完全工作,那很好。很少有人喜欢从头开始写完整的答案,所以对于这样一个开放的问题,您可能得不到很多帮助。
  • 你指的是asp.net-mvc吗?您需要正确标记您的问题,但这太宽泛且不清楚,并且可能会被关闭。

标签: asp.net-mvc razor datagridview


【解决方案1】:

您应该在视图模型中存储两个集合。例如:

    public IEnumerable<bool> CheckBoxes { get; set; }
    public IEnumerable<string> TextBoxes { get; set; }
    public int RowsCount { get; set; }

如果您想使用 MVC 绑定,您应该正确命名表格中的单元格。您可以通过这种方式创建视图:

    <table>
    @for(int i = 0; i < Model.RowsCount; i++)
    {
    <tr>
     <td><input type="checkbox" id="CheckBoxes[" + i + "]"    name="Checkboxes[" + i + "]"/></td>
     <td><input type="text" id="TextBoxes[" + i + "]" name="CheckBoxes[" + i + "]"/></td>
    </tr>
    }
    </table>

MVC 绑定使用 name 属性,因此如果不想拥有相同的 id 和名称,您可以更改您的 id :)

接下来,在您的控制器中,只需使用您的模型作为参数创建 post 方法。提交表单后,viewmodel中的集合应该正确绑定。

【讨论】:

  • 当这个回帖时,如果任何复选框未选中,绑定将失败
猜你喜欢
  • 2019-05-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-03-25
  • 2011-05-11
  • 1970-01-01
相关资源
最近更新 更多