asp.net mvc, HTML5 date d'entrée type
Je suis en train de travailler à un asp.net mvc dans visual studio 2013 et l'un des champs est une date d'entrée mais lorsque l'on clique sur le terrain et ayant le focus dans le domaine de l'automatique HTML5 datepicker de ne pas venir. Si j'ai mis le terrain à la main qu'il arrive, mais alors il n'a pas de carte pour le domaine particulier. Dans les annotations de données que j'ai compris [Type de données(DataType.Date)], mais ce n'est pas le HTML5 sélecteur de date. Comment puis-je atteindre dans asp.net ci-dessous est le code pour le domaine en particulier
<div class="form-group">
@Html.LabelFor(model => model.CustomerJoinDate, htmlAttributes: new { @class = "control-label col-md-2" })
<div class="col-md-10">
@Html.EditorFor(model => model.CustomerJoinDate, new { htmlAttributes = new { @class = "form-control" } })
@Html.ValidationMessageFor(model => model.CustomerJoinDate, "", new { @class = "text-danger" })
</div>
</div>
- Qu'en ajoutant l'attribut type="date" dans la htmlattributes entre parenthèses?
- Merci pour les suggestions les gars, ce que j'ai fait a été de mettre le type="date" dans les attributs html dans le "EditorFor" en ligne et qui a fait le tour
- Je l'ai mis dans l'exemple dans ma réponse si vous souhaitez utiliser le editorfor au lieu de textboxfor
Vous devez vous connecter pour publier un commentaire.
Ne me souviens pas exactement quand cela a été ajouté, mais dans des versions plus anciennes de ASP.NET MVC, vous pouvez soit modifier la valeur par défaut de l'éditeur de modèle à ajouter le support ou l'utilisation
TextBoxFor
qui vous permet de spécifier des attributs personnalisés:MVC 5.1 prend désormais en charge les attributs html directement comme si. Vous devriez être capable de mettre la date dans le type de l'attribut.
Voir Darin réponse concernant
input type="date"
viaTextBoxFor
Au niveau de base, tous les navigateurs ont des "indigènes" de la mise en œuvre d'un "datepicker", de sorte que vous aurez probablement besoin de mettre en œuvre un plugin fonctionne sur tous les navigateurs (par exemple, bootstrap datepicker et tel)
Exemple:
HTML:
Hth...
Si vous voulez que votre DateTime propriétés du modèle à utiliser le même modèle sans avoir à répéter le même Rasoir d'un code de définir une vue partielle appelé
DateTime.cshtml
(ouDateTime.vbhtml
) dans votreShared/EditorTemplates
dossier, dont le contenu est similaire à:Puis remplacez votre Rasoir liaisons avec:
et ainsi de suite pour chaque champ date qui devrait utiliser ce modèle.
Il utilise une la surcharge de TextBoxFor qui vous permet de spécifier un chaîne de format pour l'entrée, qui est utile pour le "masquage", la portion de la valeur de type DateTime (en supposant que vous ne voulez saisir une date).
Depuis chaque navigateur prend en charge native datepicker, vous pouvez utiliser le
date
classe dans cet exemple, pour appliquer un polyfill que nécessaire (ou tout simplement utilisertype=date
que votre sélecteur).