在代码后面,我有如下所示的属性:
private decimal _myCodeBehindVariable;
public decimal myCodeBehindVariable
{
get { return _myCodeBehindVariable; }
set { _myCodeBehindVariable = value; }
}在designer中,我得到这个变量的值,如下所示:
<%=myCodeBehindVariable%>但是,我需要用$和属性格式化它。所以看起来是这样的:35.99美元
计划为此使用accounting.js (http://josscrowcroft.github.io/accounting.js/),我可以这样做,以便在asp标签中显示数量
<asp:Label ID="Label1" runat="server"><%=myCodeBehindVariable%></asp:Label>问题是我如何应用js,我需要这样的东西
accounting.formatMoney(<%=myCodeBehindVariable%>); <- this does not work!我决定用后面的代码格式化货币,并在其中显示。将我的代码改为:
private string _myCodeBehindVariable;
public string myCodeBehindVariable
{
get { return _myCodeBehindVariable; }
set { _myCodeBehindVariable = value; }
}后面的代码..。十进制theAmount = -9999.77m;
myCodeBehindVariable = theAmount.ToString("C2", CultureInfo.CreateSpecificCulture("en-US"));这样我就可以让<%=myCodeBehindVariable%>成为设计师。
发布于 2014-10-27 02:19:49
如果不对背景有更深入的了解,我会考虑这些方法。
<%# ... %>而不是内联表达式<%= ... %>。<asp:Label ID="Label1" runat="server">)?这最终将被呈现为<div>格式。因此,如果您不特别需要代码后面的标签,我会考虑放弃它,让ASP.NET吐出您需要的值,让JavaScript来执行用<div>作为HTML占位符格式化小数点的表示逻辑。这种方法的另一个优点是它将使您的页面更加轻量级,并避免任何ASP.NET ViewState恶意。myCodeBehindVariable.ToString("C3", CultureInfo.CreateSpecificCulture("en-US"))就可以做到这一点。您可以在.aspx页面或代码背后执行此操作。https://stackoverflow.com/questions/26578789
复制相似问题