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)
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;}
}
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
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);
}
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;};
}