【发布时间】:2014-08-22 10:05:24
【问题描述】:
我对 MVC 有点陌生,也许我只是误解了一些东西,但我无法弄清楚如何以优雅的方式执行以下操作: 我有以下不想更新的实体: 型号:
public class Entity
{
[Key]
public int Id { get; set; }
public DateTime Created { get; set; }
public int FieldInt { get; set; }
public DateTime FieldDate { get; set; }
public int FieldOther {get; set; }
}
}
查看: 我的视图显示一堆带有复选框的文本行。复选框由两个数据属性标识:data-field-int 和 data-field-date,如下所示。
@html.BeginForm("Confirm", "Home", FormMethod.Post) {
...
<input type='checkbox' data-field-int="1" data-field-date="2014/01/01" />
<input type='checkbox' data-field-int="1" data-field-date="2014/02/02" />
<input type='checkbox' data-field-int="1" data-field-date="2014/03/03" />
...
<button id="ConfirmButton" type="submit" class="btn btn-primary">Confirm</button>
}
我在控制器中想要的是当按下 ConfirmButton 时,为每个复选框创建一个 Entity 对象,该对象分别使用填充了 data-field-int 和 data-field-date 属性的 fieldInt 和 fieldDate 的值进行检查。
我可以通过使控制器操作将 FormCollection 作为输入并将 name 属性放在复选框上并连接 fieldInt 和 fieldDate 然后在控制器中将它们分开并更新数据库来做到这一点。但似乎会有更好的方法,因为 MVC 对实体框架非常聪明。
希望大家能帮我理解
谢谢你, 彼得
【问题讨论】:
标签: c# asp.net-mvc entity-framework checkbox