MVC4 Sélecteur de Date à Date par Défaut
Je suis en utilisant MVC4 avec le Rasoir moteur d'affichage. Mon contrôleur est comme suit:
public ActionResult Index()
{
return View(new EmployeeIndexViewModel
{
ToDate = DateTime.Now
});
}
Mon point de Vue, le Modèle se présente comme suit:
public class EmployeeIndexViewModel
{
[DataType(DataType.Date)]
public DateTime ToDate { get; set; }
}
Sur mon point de vue, j'ai une simple EditorFor()
appel:
@Html.EditorFor(model => model.ToDate)
Mais tout de même obtenir une valeur par défaut (masqué) de la valeur dans mon sélecteur de date:
QUESTION:
Comment puis-je obtenir la date du jour (à partir de contrôleur) pour afficher ici à la place?
OriginalL'auteur JSK NS | 2014-01-27
Vous devez vous connecter pour publier un commentaire.
Mon problème n'était pas un jQuery ou MVC4 problème que j'avais d'abord pensé. Il a à voir avec la façon dont le HTML5 compatible navigateur affiche le sélecteur de date. Je passais la date de l'afficher dans un format incorrect.
J'ai modifié mon ViewModel pour cela et maintenant la date remplit correctement:
Vous avez passé
yyyy-MM-dd
dans l'attribut, mais je vois sur votre photoMM/dd/yyyy
. Ce qui se passe? Je demande car je veux changer la commande de mon point de vue, mais j'ai le même problème que je vois dans votre image.OriginalL'auteur JSK NS
Vous devez le faire à partir de jQuery niveau:
Par exemple, si vous souhaitez définir la date d'aujourd'hui:
Vous pouvez aussi essayer d'ajouter les
DisplayFormat
attribut dans votre modèle de vue de la classe pour s'assurer que le sélecteur de date interprétera votre format de données correctement:.EditorFor()
appel et de manière statique insérer une Zone de Texte?Essayez d'abord avec l'ajout de l'attribut ai-je suggéré, il semble être la solution la plus simple
Je l'ai fait, Sélecteur de Date s'affiche toujours comme il le fait dans la capture d'écran de ma question.
Changer votre éditeur pour : @Html.EditorFor(modèle => le modèle.Jour, new { id = "jour"}); $ ( "#jour" ).datepicker( "setDate", new Date());
Le problème n'est pas le jQuery, son la
.EditorFor()
appel ajouttype='date'
attribut de l'attribut HTML.OriginalL'auteur Paweł Bejger
U pouvez définir la Entrée ou la Entrée avec type="date" (datetimepicker) à l'aide de JQuery.
De Rasoir vue
@Html.TextBoxFor(m => m.StartedDate, nouveau { @id = "madate", @type = "date", @class = "form-control" })
Voici le code JS
OriginalL'auteur Radha Anil K