我如何将这个HTML(复选框表)映射到MVC ViewModel

本文关键字:映射 ViewModel MVC 复选框 HTML | 更新日期: 2023-09-27 18:18:24

我知道如何将单个复选框映射到MVC ViewModel中,如:

  @Html.LabelFor(model => model.OnlyThisNetwork)
     @Html.CheckBoxFor(model => model.OnlyThisNetwork)and 
[DisplayName("Only this network")]
        public bool OnlyThisNetwork { get; set; }

但是这个复选框表呢?我想不出该怎么做。

<table>
<thead>
                            <tr>
                                <th class="add">Frequency/Format</th>
                                <th>All</th>
                                <th>Email</th>
                                <th>Mobile</th>
                                <th>Social</th>
                            </tr>
                        </thead>
                        <tbody>
                            <tr>
                                <td class="add">As it happens</td>
                                <td><input type="checkbox" title="bike" id="social" class="checkbox"></td>
                                <td><input type="checkbox" title="bike" id="social" class="checkbox"></td>
                                <td><input type="checkbox" title="bike" id="social" class="checkbox"></td>
                                <td><input type="checkbox" title="bike" id="social" class="checkbox"></td>
                            </tr>
                            <tr>
                                <td class="add">Once a week</td>
                                <td><input type="checkbox" title="bike" id="social" class="checkbox"></td>
                                <td><input type="checkbox" title="bike" id="social" class="checkbox"></td>
                                <td><input type="checkbox" title="bike" id="social" class="checkbox"></td>
                                <td><input type="checkbox" title="bike" id="social" class="checkbox"></td>
                            </tr>
                            <tr>
                                <td class="add">Once a month</td>
                                <td><input type="checkbox" title="bike" id="social" class="checkbox"></td>
                                <td><input type="checkbox" title="bike" id="social" class="checkbox"></td>
                                <td><input type="checkbox" title="bike" id="social" class="checkbox"></td>
                                <td><input type="checkbox" title="bike" id="social" class="checkbox"></td>
                            </tr>
                        </tbody>
                    </table>

有人能帮忙吗?我更改了帖子,以反映我绑定到的MVC代码

我如何将这个HTML(复选框表)映射到MVC ViewModel

为所有复选框使用相同的name属性,并为每个复选框设置value属性。然后,您将得到一个包含选定值的数组:

<input type='checkbox' name='items' value='item1' />
<input type='checkbox' name='items' value='item2' />
<input type='checkbox' name='items' value='item3' />

在控制器中,您可以使用post方法获取字符串数组(如果值可以与实际的模型绑定器转换,则可以使用其他类型):

[HttpPost]
public ActionResult CheckItems(String[] items)
{
    ...use the values...
}

你可以在你的模型对象中有数组,它将被使用(如果名称与数组的属性名称相对应)