gpt4 book ai didi

c# - 在 MVC View 中格式化数字

转载 作者:行者123 更新时间:2023-12-02 05:45:03 25 4
gpt4 key购买 nike

我有一个模型,其中有一个数字,当它显示在我的 View 中时,我想以特定的方式对其进行格式化。

[DisplayFormat(DataFormatString = "{### ##}")] 
[Display(Name = "Postnr")]
public string CustomerZip;

在 View 中:

@Html.DisplayFor(modelItem => item.CustomerZip) 

在数据库中,值存储为#####,因此在尝试这种方法时出现错误:“输入字符串的格式不正确”。我认为(或者说希望)DataFormatString 会为我重新格式化字符串。

如有任何关于如何以最佳方式做到这一点的建议,我们将不胜感激。

最佳答案

一些事情:

  1. DataFormatString 需要使用 {0:...} 索引器样式格式字符串,就像您在 string.Format 中使用的那样。所以你需要做一些类似[DisplayFormat(DataFormatString="{0:### ##}"]的事情。如果大括号应该是文字的,那么你会使用[DisplayFormat(DataFormatString="{{{0:#####}}}")]。然而...
  2. 字符串没有格式字符#。这就是您将用于数字类型的内容。如果您将值存储为整数,那么您很幸运;只需将 CustomerZip 的类型更改为 int。
  3. 如果您没有将值存储为整数,而是存储为字符串(通常您不习惯使用邮政编码),那么问题就大了。就像我说的,您没有任何带有字符串的自定义格式选项。您需要将 CustomerZip 表示为您将定义的某种自定义类型,即 IFormattable。

关于c# - 在 MVC View 中格式化数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10395209/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com