如何在创建新表单时在字段中设置默认DateTime?

时间:2016-12-16 12:37:26

标签: c# asp.net-mvc asp.net-mvc-4

我是C#和MVC的新手。我有一个包含许多字段的表单和一个在字段上创建的表单,我希望在创建表单时填充当前日期。

我使用的是实体框架方法,而不是代码优先方法。我正在使用Visual Studio 2013和MVC的5.2.3.0版本。

我尝试了很多方法来实现这个目的。例如,使用创建页面上的Html.Editfor以及模型本身中的验证属性进行设置。这是我到目前为止所得到的......

模型... Current Model to display validation attributes

家庭控制器.... Home Controller

Create.cshtml ...

@Html.EditorFor(model => model.allClientDetails.CreatedOn, "", new { @class = "text-danger" })

似乎有很多不同的方法可以完成这项任务,但我还没有成功完成这项工作。任何帮助都提前非常感谢。

2 个答案:

答案 0 :(得分:2)

我能想到的最简单的方法是,只需从控制器发送值作为模型的一部分。假设您的模型名称是Student,并且您有一个名为CreatedOn的属性,因此您的控制器代码应该类似于

Public ActionResult Index()
{
     var student = new Student();
     student.CreateOn = DateTime.Now;         
     return View(student);  
}

在你看来你

@Html.EditorFor(model => model.CreatedOn, new { @class = "text-danger" })

希望有所帮助:)

答案 1 :(得分:0)

您可以在构造函数中设置默认值:

public class Client_METADATA
{
    public Client_METADATA()
    {
        CreatedOn = DateTime.Now;
    }
}