我的 MVC3 应用程序中有一个“创建”页面,其中包含 4 个必需的输入字段。我还有一个“编辑”页面,可以在其中编辑这 4 个字段中的 3 个。我不想显示第 4 个字段并希望将其保持为初始值(该字段是条目创建的日期)。
我在模型中将第 4 个字段标记为 [Required],然后这会导致模型在 Edit 字段的 post action 方法中被声明为无效。如果我省略了 [Required] 注释,那么有人可以为此第 4 个字段创建一个具有空值的用户。
我怎样才能解决这个问题?
型号代码:
[Required]
[DisplayName("User Name")]
public string UserName { get; set; }
[Required]
public string Role { get; set; }
[Required]
[DataType(DataType.Date)]
[DisplayName("Insert Date")]
public DateTime? InsertDate { get; set; }
[Required]
[DisplayName("Active")]
public bool ActiveInd { get; set; }
控制器代码:
public ActionResult Edit(int id, ZUserRoleModel mod)
{
if (ModelState.IsValid)
{
// code removed
return RedirectToAction("Index");
}
return View(mod);
}