web-dev-qa-db-fra.com

Date et heure actuelles - par défaut dans le rasoir MVC

Lorsque la page de vue MVC avec cette zone de texte se charge, je voudrais afficher la date et l'heure actuelles par défaut. Comment puis-je faire ceci? au rasoir.

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

Avant de renvoyer votre modèle à partir du contrôleur, définissez votre propriété ReturnDate sur DateTime.Now()

myModel.ReturnDate = DateTime.Now()

return View(myModel)

Votre vue n'est pas le bon endroit pour définir des valeurs sur les propriétés, le contrôleur est donc le meilleur endroit pour cela.

Vous pourriez même l'avoir pour que le getter sur ReturnDate retourne la date/heure actuelle.

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

Si vous souhaitez afficher la date et l'heure sur la vue sans modèle, écrivez simplement ceci:

Date : @DateTime.Now

La sortie sera:

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

Vous pouvez initialiser ReturnDate sur le modèle avant de l'envoyer à la vue.

Dans le contrôleur:

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

    return View(viewModel);
}
10
Lee DeLapp

N'est-ce pas à cela que servent les constructeurs par défaut?

class MyModel
{

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

    public date ReturnDate {get; set;};

}
7
Jeremy Bell