当前日期和时间 - 默认为MVC剃须刀

ZVe*_*nue 15 asp.net-mvc html-helper razor asp.net-mvc-3 asp.net-mvc-2

当带有此文本框的MVC视图页面加载时,我希望默认显示当前日期和时间.我怎样才能做到这一点?用剃刀.

  @Html.EditorFor(model => model.ReturnDate)
Run Code Online (Sandbox Code Playgroud)

Jam*_*xon 21

从控制器返回模型之前,请将ReturnDate属性设置为DateTime.Now()

myModel.ReturnDate = DateTime.Now()

return View(myModel)
Run Code Online (Sandbox Code Playgroud)

您的视图不是在属性上设置值的正确位置,因此控制器是更好的位置.

您甚至可以使用getter来ReturnDate返回当前日期/时间.

private DateTime _returnDate = DateTime.MinValue;
public DateTime ReturnDate{
   get{
     return (_returnDate == DateTime.MinValue)? DateTime.Now() : _returnDate;
   }
   set{_returnDate = value;}
}
Run Code Online (Sandbox Code Playgroud)


小智 11

如果要在没有模型的情况下在视图上显示日期时间,只需写下:

Date : @DateTime.Now
Run Code Online (Sandbox Code Playgroud)


Lee*_*app 10

您可以在将模型发送到视图之前在模型上初始化ReturnDate.

在控制器中:

[HttpGet]
public ActionResult SomeAction()
{
    var viewModel = new MyActionViewModel
    {
        ReturnDate = System.DateTime.Now
    };

    return View(viewModel);
}
Run Code Online (Sandbox Code Playgroud)


Jer*_*ell 7

这不是默认构造函数的用途吗?

class MyModel
{

    public MyModel()
    {
        this.ReturnDate = DateTime.Now;
    }

    public date ReturnDate {get; set;};

}
Run Code Online (Sandbox Code Playgroud)