MVC 4自定义复选框值列表的最佳帮助程序

时间:2013-09-08 08:54:03

标签: asp.net-mvc asp.net-mvc-4 razor

在公司模式中,我有:

[Display(Name = "Offered Services")]
public string[] Services { get; set; }

我有一个标准的脚手架控制器。

现在,在Razor视图中,我需要使用复选框帮助器,它自动将值绑定到模型,以便为浏览器生成以下标记:

<div class="editor-label">
    Offered Services
</div>
<div class="editor-field">

    <input type="checkbox" name="Services[]" id="services-safety" value="safety"  />
    <label for="services-safety">Safety</label>

    <input type="checkbox" name="Services[]" id="services-healthy" value="healthy"  />
    <label for="services-healty">Healthy</label>

    ... <!-- more checkboxes in future -->
</div>

的问题:

  • 是否有任何帮助器将其绑定到模型,因此所选值在编辑视图中保持checked。没有使用额外的ViewModel和控制器代码会有可能吗?

  • 让演示者改变应用程序的行为是个好主意吗?如果有人从客户端更改复选框值,则Service数组将包含垃圾数据。在这种情况下,处理复选框以防止出现此类噪音的最佳方法是什么:

    1. 多态服务名称的ViewModel
    2. Enum Service {}
    3. 为公司模型中的每项服务创建单独的属性
    4. class Service {}:包含所有服务作为属性:

      A)然后在模型中创建一个Services类型的属性。

      B)将服务作为一个实体并与公司建立联系。

0 个答案:

没有答案