DisplayFormat de l'attribut DataFormatString paramètre ne fonctionne pas lorsqu'il est utilisé avec @Html.TextBoxFor()
J'ai un modèle avec certaines propriétés de date et heure.
La fois les propriétés sont les suivantes DataAnnotation:
[DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:hh:mm tt}")]
Et la date propriétés:
[DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:MM/dd/yyyy}")]
Cependant, ce sont seulement respectée lorsque j'utilise @Html.EditorFor()
et pas @Html.TextBoxFor()
.
Ma situation actuelle ne me permet pas d'utiliser le EditorFor
, alors comment puis-je forcer le TextBoxFor
respect de ces chaînes de format?
pourquoi devez-vous utiliser
La Validation ne fonctionne pas correctement avec les
la validation pourrait être lié à votre
Pourrais-tu élaborer un peu?
comme je l'ai mentionné qu'il pourrait être en raison de la langue et date réglage de votre environemtn
TextBoxFor
?La Validation ne fonctionne pas correctement avec les
EditorFor
s. Nous avons investigué à rien de tourner encore.la validation pourrait être lié à votre
CultureInfo
que vous utilisez dans votre application.Pourrais-tu élaborer un peu?
comme je l'ai mentionné qu'il pourrait être en raison de la langue et date réglage de votre environemtn
OriginalL'auteur Kehlan Krumme | 2013-07-23
Vous devez vous connecter pour publier un commentaire.
Vous pouvez essayer ce qui suit:
Il y a aussi une surcharge qui prend attributs html, de sorte que vous pouvez définir la classe CSS, le fil jusqu'datepickers, etc:
@class="input-large"
?juste dire que vous pouvez appliquer vos styles. comme jquery sélecteur de date
Gotcha. Pense que je vais rester avec cette solution.
Je suis en utilisant MVC 5, ayant le même problème mais la solution ci-dessus ne fonctionne pas. ` <div class="form-group"> @Html.LabelFor(modèle => le modèle.DateOfBirth, htmlAttributes: nouveau { @class = "control-label col-md-2" }) <div class="col-md-10"> @Html.TextBoxFor(modèle => le modèle.DateOfBirth, "{0:jj-MM-aaaa}", new { htmlAttributes = new { @class = "form-control" } }) @Html.ValidationMessageFor(modèle => le modèle.DateOfBirth, "", new { @class = "texte-danger" }) </div> </div>`
OriginalL'auteur DarthVader
Peut-être une méthode d'extension pourrait être créé:
la méthode ToCustomDateFormat pourrait être une méthode d'extension pour les types dateTime qui retourne la chaîne de valeur dans le format désiré.
Utilisation:
De cette façon, la mise en forme de tous les variable datetime peut être contrôlé à partir d'une seule fonction. A bien fonctionné pour moi (pour
DateTime
etDateTime?
propriétés), bien que je ne suis pas sûr si la compilation de l'expression au moment de l'exécution est une bonne idée.OriginalL'auteur bussa
Une option que j'ai fait pour cela:
OriginalL'auteur Flea
Dans MVC5 vous pouvez appeler le format d'affichage défini dans votre point de vue en évitant de reproduire le format datetime, juste le code de la manière suivante:
OriginalL'auteur Bonomi