在mvc中创建表单的默认值

本文关键字:默认值 表单 创建 mvc | 更新日期: 2023-09-27 17:53:11

我想在我的asp.net mvc 5应用程序中设置文本区域的默认值。我的Patient模型中有一个字段,如下所示:

    [Display(Name = "Date of Birth")]
    [DataType(DataType.Date)]
    [DisplayFormat(DataFormatString = "{0:yyyy-MM-dd}", ApplyFormatInEditMode = true)]
    [Required]
    public DateTime DateOfBirth { get; set; }

,我想将该字段的默认值设置为当前日期。现在它正在显示这个表单:http://scr.hu/11m6/lf9d5。我已经尝试过使用构造函数并在其中设置DateOfBirth的值:

    public Patient()
    {
        DateOfBirth = DateTime.Now;
    }

,但没有效果。我还尝试编辑我的view .cshtml文件如下:

@Html.EditorFor(model => model.DateOfBirth, new { @value = "2014-05-05" })

但也没有效果。有没有人知道这个问题的解决方法?

在mvc中创建表单的默认值

您应该创建一个Patient类的实例并将其传递给Create操作中的视图。在您的示例中,没有设置视图模型,因此不进入Patient类构造函数,也不使用DateTime.Now值显示。

试着改变你的Create动作方法:

    // GET: /Patient/Create
    public ActionResult Create()
    {
        return View();
    }

:

    // GET: /Patient/Create
    public ActionResult Create()
    {
        var patient = new Patient();
        return View(patient);
    }