Comment formater un DateTime affiché par TextBoxFor () dans MVC3?
J'ai ASP.NET MVC3 installé. J'ai besoin de datepicker avec date formatée. J'ai essayé ceci, mais cela ne fonctionne pas (lors du passage de "{0:jj/MM/aaaa}" comme paramètre de format, il n'est toujours pas le format):
private static MvcHtmlString FormattedDateTextBoxFor<TModel, TProperty>(this HtmlHelper<TModel> htmlHelper, Expression<Func<TModel, TProperty>> expression, string format, RouteValueDictionary htmlAttributes)
{
var metadata = ModelMetadata.FromLambdaExpression(expression, htmlHelper.ViewData);
if (metadata.Model != null && metadata.Model as DateTime? != null)
htmlAttributes.Add("value", string.Format(format, (DateTime)metadata.Model));
return htmlHelper.TextBoxFor(expression, htmlAttributes);
}
EDIT: Mon code fonctionne si le format est "{0:jj-MM-aaaa}", mais pas seulement pour "{0:jj/MM/aaaa}"
Je sais que MVC4 a déjà cette fonctionnalité, mais malheureusement, mon projet est écrit sur MVC3. Pouvez-vous m'aider?
source d'informationauteur karaxuna
Vous devez vous connecter pour publier un commentaire.
Le seul format, j'ai même appris à travailler est-ce:
La syntaxe est la suivante:
@Html.TextBoxFor( expression, format string, object htmlAttributes)
par exemple:
ce format va vous aider à:
Dans votre Modèle, utilisez la commande suivante:
Voici ce qu'il devrait faire dans la Vue:
Cela devrait vous donner une date au format vers le format jj/MM/aaaa.
Écran dépendent de la culture. Et tandis que dans la plupart des cas, toutes les autres réponses sont correctes, il ne fonctionne pas pour moi. La Culture de problème peut aussi causer des problèmes différents avec datepicker de jQuery, si attaché.
Si vous souhaitez forcer le format d'échappement /de la manière suivante:
Si pas échappé, pour moi, c'montrer
08-01-2010
vs attend08/01/2010
.Aussi, si pas échappé datepicker de jQuery va sélectionner les différents defaultDate, dans mon exemple, il a été
May 10, 2012
.