如果我有以下型号:
public class Model
{
public int ModelID { get; set; }
public string Title { get; set; }
public DateTime Created { get; set; }
}
以下控制器方法:
public ActionResult Create(Model model)
{
if (ModelState.IsValid)
{
model.Created = DateTime.Now;
// Save to DB
}
}
在视图中隐藏了Created字段,因为我希望这个字段填充调用Create控制器方法的时间戳。由于model.Created属性为null,因此无法进行ModelState验证。
我不想让model.Created属性为Nullable但我需要以某种方式指定视图中不需要此字段。有人可以建议如何做到这一点吗?
答案 0 :(得分:6)
您希望使用Created
属性从绑定中排除[Bind]
属性,如下所示:
public ActionResult Create([Bind(Exclude = "Created")] Model model)
{
....
}
出于安全原因,我们也建议您使用它,因为您不希望客户为您设置Created
值。