asp.net-mvc - DisplayFormat DataFormatString 不适用于 Razor 视图中的十进制值
问题描述
我有一个 asp.net core 3.1 mvc 网络应用程序。我有一个绑定到视图的模型。该模型具有可为空的十进制属性。我需要在视图中显示该属性。
这是引发错误的视图(在左侧 DisplayFor 上):
@Html.DisplayFor(model => model.Content) @Html.DisplayFor(model => model.ContentUnits)
这是被绑定的属性:
[Display(Name = "Content")]
[DisplayFormat(DataFormatString = "{0:d}")]
[Range(0, 100)]
public decimal? Content { get; set; }
public string ContentUnits { get; set; }
使用调试器和即时窗口,我可以看到该值为 0.0000400。这对我来说似乎是一个十进制数,所以我不明白为什么我的 DataFormatString 不起作用。它抛出的错误是:
FormatException:格式说明符无效。
解决方案
如果你想在视图中显示数据,这里有一个演示:
控制器:
[HttpGet]
public ActionResult TestContent()
{
ContentModel contentModel = new ContentModel { Content =new decimal(0.0000400),ContentUnits= "ContentUnits" };
return View(contentModel);
}
看法:
@Html.DisplayFor(model => model.ContentUnits)
<br>
@Html.TextBox(" ", Model.Content)
<br>
@Model.Content
<br>
结果:
推荐阅读
- ssrs-2012 - 在 SSRS 中如何设置动态车身高度/宽度?
- java - 为什么我尝试向我的服务器发送 HTTP 响应后我的参数保持为空
- sql - 在 2 个日期之间每月获取准确的日期值
- haskell - 如何在 Yesod 中获取引用的模型信息?
- java - 如何以编程方式绘制宽度为 MATCH_PARENT 的按钮?
- iis - 如何使用主机名在 Windows EC2 IIS 服务器中部署网站?
- laravel - 错误消息:预期响应代码 220,但得到一个空响应”,异常“Swift_TransportException”,
- python - 概率线性判别分析
- excel - 我应该为jenkins中的硒测试的excel数据添加什么路径
- ios - 命令 /Library/Developer/Toolchains/swift-3.1-RELEASE.xctoolchain/usr/bin/swiftc 失败,退出代码为 1