Format des numéros de MVC vue
J'ai un modèle avec un certain nombre j'aimerais format d'une manière spécifique lorsqu'elle est affichée dans mon point de vue.
[DisplayFormat(DataFormatString = "{### ##}")]
[Display(Name = "Postnr")]
public string CustomerZip;
dans la vue:
@Html.DisplayFor(modelItem => item.CustomerZip)
Dans la DB les valeurs sont stockées en tant que ##### donc, je reçois une erreur lorsque vous tentez de cette approche: "la chaîne d'Entrée n'était pas dans un format correct". J'ai pensé (ou plutôt espérer) que le DataFormatString serait de reformater la chaîne pour moi.
Des suggestions sur la façon pour ce faire, le meilleur moyen est apprécié.
Vous devez vous connecter pour publier un commentaire.
Que peu de choses:
DataFormatString
doit utiliser le {0:...} indexeur style de chaîne de format, comme vous l'auriez fait dansstring.Format
. Donc, vous auriez besoin de faire quelque chose comme[DisplayFormat(DataFormatString="{0:### ##}"]
. Si les accolades sont censés être littérale, alors vous devriez utiliser[DisplayFormat(DataFormatString="{{{0:### ##}}}")]
. Cependant...#
pour les chaînes. Qu'est-ce que vous souhaitez utiliser pour un type numérique. Si vous êtes le stockage de la valeur comme un nombre entier, alors vous avez de la chance; il suffit de changer le type deCustomerZip
int.Utilisent le format suivant:
"{0:### ##}"
Voir l'exemple sur la page MSDN http://msdn.microsoft.com/en-us/library/system.componentmodel.dataannotations.displayformatattribute.dataformatstring.aspx
Utiliser la fonction Raw comme ceci:
@Html.Raw(item.Valor.ToString("##,###"))
Cela fonctionne pour n'importe quel type de données.