Текущая дата и время - по умолчанию в бритве MVC - PullRequest
14 голосов
/ 18 августа 2011

Когда загружается страница просмотра MVC с этим текстовым полем, я хотел бы отображать текущую дату и время по умолчанию Как я могу это сделать? в бритве.

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

Ответы [ 4 ]

21 голосов
/ 18 августа 2011

Прежде чем вернуть модель из контроллера, установите для свойства ReturnDate значение DateTime.Now()

myModel.ReturnDate = DateTime.Now()

return View(myModel)

Ваше мнение не является подходящим местом для установки значений свойств, поэтому контроллер является лучшим местомдля этого.

Вы могли бы даже иметь его, чтобы получатель на ReturnDate возвращал текущую дату / время.

private DateTime _returnDate = DateTime.MinValue;
public DateTime ReturnDate{
   get{
     return (_returnDate == DateTime.MinValue)? DateTime.Now() : _returnDate;
   }
   set{_returnDate = value;}
}
10 голосов
/ 18 августа 2011

Вы можете инициализировать ReturnDate для модели перед отправкой в ​​представление.

В контроллере:

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

    return View(viewModel);
}
7 голосов
/ 24 августа 2011

Разве не для этого нужны конструкторы по умолчанию?

class MyModel
{

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

    public date ReturnDate {get; set;};

}
6 голосов
/ 16 августа 2017

Если вы хотите отобразить дату и время на виде без модели, просто напишите это:

Date : @DateTime.Now

Вывод будет:

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