【问题标题】:WinJS Binding globalizationWinJS 绑定全球化
【发布时间】:2014-12-09 09:29:12
【问题描述】:

我需要你的帮助。我已经使用 WinJS 和 WinJS.Binding 启动了一个 Web 应用程序。除了显示小数外,一切正常。小数始终以美国格式显示(例如 1,000.23),但我需要以当前区域的格式显示的小数(例如在德国,它应该显示 1.000,23)。

所以我尝试使用 WinJS.Binding.converter,但问题是,我已经使用了双向绑定初始化程序,当我尝试使用初始化程序和转换时,它会引发错误:

WinJS.Binding.ParseError:无效绑定:'值:dataSource.aDechimalValue Binding.Mode.twoWay Converters.dec'。预计为':;'。意外标记:分号,预期标记:冒号,偏移量 67

这里是我如何设置 data-win-bind 的 HTML:

<input id="aDecimalInput" type="number" data-win-bind="value: dataSource.aDechimalValue Binding.Mode.twoWay Converters.dec" />

这是我的问题:

如何以当前区域的格式显示十进制值 - 或者以后还显示日期?

最好的问候, 迈克

【问题讨论】:

    标签: javascript binding winjs


    【解决方案1】:

    尝试在您的脚本中使用它:

    Double dblValue;
    if (Double.TryParse(value1, NumberStyles.Number, CultureInfo.CurrentCulture, out dblValue)){
        document.getElementById(aDecimalInput).text = value1;
    }
    

    这将根据您所在的国家/地区用逗号或点写出您的十进制值。

    【讨论】:

    • 我正在使用 WinJS 和 WebApi 我不使用 Razor 或类似的东西。我的猜测是,这是 IE 的问题。即使在
      我从未提到过 Razor 或类似的东西。您可以通过 javascript 执行此操作,并使用文化更新您的价值。
    • 是的,但是您的代码不是 JavaScript 代码,而是 C# 代码,并且这些函数或类都不存在于 JavaScript 中。
    猜你喜欢
    相关资源
    最近更新 更多
    热门标签