【问题标题】:Issue with umbraco.decimal not showing negative valuesumbraco.decimal 不显示负值的问题
【发布时间】:2017-05-23 15:40:26
【问题描述】:

我们在 Umbraco Cloud 上使用 Umbraco 7.5.x。我们有一个带有 Umbraco.Decimal 数据类型的自定义文档类型。

正确的值被存储,因为我们可以从后台编辑它们。但是当我们尝试显示这些值时,只有高于零的值才能正确显示。不显示负值(例如 -0.75)。

显示此数据类型的值以便显示所有值的正确方法是什么?

我们上面的用例是,我们有一个显示股票价格值的节点,有时可能是负数。这些值存储在 Umbraco.decimal 字段中。正值显示没有任何问题。任何负值都显示为零。

例如在我们的视图中,我们抓取一个特定的节点,并从字段中显示它的值:

@{
var lastStockValues = Umbraco.Content(123).Children.Last();
}    
<div>@((lastStockValues.stockdelta*100).ToString("0.##")) % </div>

谢谢!

【问题讨论】:

  • 请贴出您目前尝试过的代码。您希望该代码做什么以及它实际上在做什么?
  • 谢谢,我已经更新了信息。希望这会有所帮助!

标签: umbraco umbraco7


【解决方案1】:

我强烈建议使用类型化模型而不是动态模型。这样你就可以确定你的类型是正确的:

@{
    var lastStockValuesNode = Umbraco.TypedContent(123).Children().Last();
}
<div>@((lastStockValuesNode.GetPropertyValue<decimal>("stockdelta") * 100).ToString("0.##"))</div>

在这种情况下,lastStockValuesNode 的类型为 IPublishedContent,它表示 Umbraco 中的页面/节点。

然后您可以使用方法.GetPropertyValue&lt;type&gt;(alias)。在这种情况下,我们将类型转换为 decimal

如果动态输入将小数转换为错误的类型,这可能会解决您的问题。

文档:https://our.umbraco.org/documentation/reference/querying/UmbracoHelper/#typedcontent-int-id

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-01-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多