我们在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>
谢谢!
答案 0 :(得分:0)
我强烈建议使用键入模型而不是动态模型。这样您就可以确定您的类型是正确的:
@{
var lastStockValuesNode = Umbraco.TypedContent(123).Children().Last();
}
<div>@((lastStockValuesNode.GetPropertyValue<decimal>("stockdelta") * 100).ToString("0.##"))</div>
在这种情况下,lastStockValuesNode
的类型为IPublishedContent
,表示Umbraco中的页面/节点。
然后,您可以使用方法.GetPropertyValue<type>(alias)
。在这种情况下,我们要转换为decimal
。
如果动态类型将小数转换为错误类型,这可能会解决您的问题。
文档:https://our.umbraco.org/documentation/reference/querying/UmbracoHelper/#typedcontent-int-id