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

时间:2011-08-18 18:18:04

标签: asp.net-mvc asp.net-mvc-3 asp.net-mvc-2 razor html-helper

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

  @Html.EditorFor(model => model.ReturnDate)

4 个答案:

答案 0 :(得分:21)

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

myModel.ReturnDate = DateTime.Now()

return View(myModel)

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

你甚至可以拥有它,以便ReturnDate上的getter返回当前日期/时间。

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

答案 1 :(得分:10)

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

在控制器中:

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

    return View(viewModel);
}

答案 2 :(得分:7)

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

class MyModel
{

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

    public date ReturnDate {get; set;};

}

答案 3 :(得分:6)

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

Date : @DateTime.Now

输出将是:

Date : 16-Aug-17 2:32:10 PM