【问题标题】:Display local variable with DisplayFor? [duplicate]用 DisplayFor 显示局部变量? [复制]
【发布时间】:2019-03-01 06:11:57
【问题描述】:

我已经定义了 Shared/DisplayTemplates/decimal.cshtml 使用自定义格式。

我知道 whis 可以与 @Html.DisplayFor 一起使用,

但是如何格式化在 Razor 视图中定义的局部变量?例如@{ 十进制 d=5; } 看来你不能用 DisplayFor 显示局部变量..

【问题讨论】:

  • DisplayFor 用于您的模型,你不能这样做。
  • 仔细阅读您的问题,Razor 使用反射来确定要使用的显示模板,因此如果您想使用 DisplayFor 来使用模板,您可能需要向您的模型。

标签: .net razor model-view-controller


【解决方案1】:

@Html.DisplayFor(x=>name);这是使用 DisplayFor 的语法。如果你想显示局部变量,那么只需放置局部变量@Html.DisplayFor(d);

【讨论】:

  • 试过了,得到:编译器错误消息:CS0411:方法'System.Web.Mvc.Html.DisplayExtensions.DisplayFor(System.Web.Mvc.HtmlHelper, System.Linq.Expressions.Expression>)' 无法从用法中推断出来。尝试明确指定类型参数。
  • @Ljudevit 您不能将DisplayFor 与局部变量一起使用,因为它使用反射。
  • @D Stanley,实际上它的工作原理几乎正如 Hashmi 所说:@Html.DisplayFor(x => d);其中 d 是我的局部变量,它使用显示格式。这样我就可以在一个地方使用十进制格式。
猜你喜欢
  • 2019-06-05
  • 2013-01-06
  • 1970-01-01
  • 2017-09-17
  • 2013-03-14
  • 2014-06-14
  • 1970-01-01
  • 1970-01-01
  • 2017-12-22
相关资源
最近更新 更多