c# - 'decimal' 类型和格式的 html 助手?

标签 c# asp.net-mvc format

属性:

public decimal Cost { get; set; }

html 助手:

<%: Html.TextBoxFor(m => m.Cost)%>

问题:当我设置 Cost 时属性,我该如何格式化它?例如显示两位小数的精度?

最佳答案

我在上面对 Jamiec 的回答进行了一些调整,以 (a) 使其编译并 (b) 使用与框架相同的底层方法:

public static MvcHtmlString DecimalBoxFor<TModel>(this HtmlHelper<TModel> html, Expression<Func<TModel, decimal?>> expression, string format, object htmlAttributes = null)
{
    var name = ExpressionHelper.GetExpressionText(expression);

    decimal? dec = expression.Compile().Invoke(html.ViewData.Model);

    // Here you can format value as you wish
    var value = dec.HasValue ? (!string.IsNullOrEmpty(format) ? dec.Value.ToString(format) : dec.Value.ToString())
                : "";

    return html.TextBox(name, value, htmlAttributes);
}

关于c# - 'decimal' 类型和格式的 html 助手?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4617397/

相关文章:

c# - 如何从 Windows 7 上的 C# 程序读取 Android 手机上的文件?

c# - 模型绑定(bind)和继承 ASP MVC 5

c# - Request.Cookies 为 null ASP.NET MVC

jquery - 在 ASP.NET MVC 3 应用程序 View 中使用 jQuery 自动完成的文本框看起来不像预期的那样

regex - matlab:正则表达式和拆分,并选择一些单元格

c# - 四舍五入小数位不起作用?

c# - 更改 WebResource.axd 的请求 url

c# - 如何获取 SSRS 数据源凭据并在 .NET 中打开 SQL 连接

c# - NLog无法从属性打印对象?

python:我可以将字符串格式化运算符与类的 getter 方法一起使用吗?