首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ASP.NET在设计器中显示货币的格式正确

ASP.NET在设计器中显示货币的格式正确
EN

Stack Overflow用户
提问于 2014-10-26 22:40:14
回答 1查看 185关注 0票数 0

在代码后面,我有如下所示的属性:

代码语言:javascript
复制
private decimal _myCodeBehindVariable;
public decimal myCodeBehindVariable
{
    get { return _myCodeBehindVariable; }
    set { _myCodeBehindVariable = value; }
}

在designer中,我得到这个变量的值,如下所示:

代码语言:javascript
复制
<%=myCodeBehindVariable%>

但是,我需要用$和属性格式化它。所以看起来是这样的:35.99美元

计划为此使用accounting.js (http://josscrowcroft.github.io/accounting.js/),我可以这样做,以便在asp标签中显示数量

代码语言:javascript
复制
<asp:Label ID="Label1" runat="server"><%=myCodeBehindVariable%></asp:Label>

问题是我如何应用js,我需要这样的东西

代码语言:javascript
复制
accounting.formatMoney(<%=myCodeBehindVariable%>); <- this does not work!

我决定用后面的代码格式化货币,并在其中显示。将我的代码改为:

代码语言:javascript
复制
    private string _myCodeBehindVariable;
    public string myCodeBehindVariable
    {
        get { return _myCodeBehindVariable; }
        set { _myCodeBehindVariable = value; }
    }

后面的代码..。十进制theAmount = -9999.77m;

代码语言:javascript
复制
        myCodeBehindVariable = theAmount.ToString("C2", CultureInfo.CreateSpecificCulture("en-US"));

这样我就可以让<%=myCodeBehindVariable%>成为设计师。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-10-27 02:19:49

如果不对背景有更深入的了解,我会考虑这些方法。

  1. 如果标签是在运行时确定的,这就意味着某种类型的数据绑定。在这种情况下,您可能需要一个数据绑定表达式<%# ... %>而不是内联表达式<%= ... %>
  2. 如果您无论如何都在使用JavaScript来显示所需的内容,那么是否真的需要使用ASP.NET标签(即<asp:Label ID="Label1" runat="server">)?这最终将被呈现为<div>格式。因此,如果您不特别需要代码后面的标签,我会考虑放弃它,让ASP.NET吐出您需要的值,让JavaScript来执行用<div>作为HTML占位符格式化小数点的表示逻辑。这种方法的另一个优点是它将使您的页面更加轻量级,并避免任何ASP.NET ViewState恶意。
  3. 或者,如果您不需要特别使用特定的JavaScript库,那么在纯C#中使用一个简单的myCodeBehindVariable.ToString("C3", CultureInfo.CreateSpecificCulture("en-US"))就可以做到这一点。您可以在.aspx页面或代码背后执行此操作。
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26578789

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档