在公司模式中,我有:
[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数组将包含垃圾数据。在这种情况下,处理复选框以防止出现此类噪音的最佳方法是什么:
class Service {}:包含所有服务作为属性:
A)然后在模型中创建一个Services类型的属性。
B)将服务作为一个实体并与公司建立联系。