asp.net-mvc – MVC中TextBoxFor的DisplayFormat
我需要将4位十进制四舍五入到2位数并在MVC 3 UI中显示
像这样的58.8964到58.90 试过这个How should I use EditorFor() in MVC for a currency/money type?但不行。
MyModelClass [DisplayFormat(DataFormatString = "{0:F2}")] public decimal? TotalAmount { get; set; } @Html.TextBoxFor(m=>m.TotalAmount) 我怎样才能完成这一轮? 我不能在这里使用EditorFor(m => m.TotalAmount),因为我需要传递一些htmlAttributes 编辑: 用MVC源代码调试后,他们在内部使用 string valueParameter = Convert.ToString(value,CultureInfo.CurrentCulture); 在InputExtension.cs的MvcHtmlString InputHelper()方法中,它将对象值作为参数并进行转换。他们没有使用任何显示格式。我们怎么解决? 我设法以这种方式修复。由于我有自定义助手,我可以使用以下代码进行管理 if (!string.IsNullOrEmpty(modelMetaData.DisplayFormatString)) { string formatString = modelMetaData.DisplayFormatString; string formattedValue = String.Format(CultureInfo.CurrentCulture,formatString,modelMetaData.Model); string name = ExpressionHelper.GetExpressionText(expression); string fullName = htmlHelper.ViewContext.ViewData.TemplateInfo.GetFullHtmlFieldName(name); return htmlHelper.TextBox(fullName,formattedValue,htmlAttributes); } else { return htmlHelper.TextBoxFor(expression,htmlAttributes); } 解决方法
如果要将自定义格式考虑在内,则应使用Html.EditorFor而不是Html.TextBoxFor:
@Html.EditorFor(m => m.TotalAmount) 还要确保已将ApplyFormatInEditMode设置为true: [DisplayFormat(DataFormatString = "{0:F2}",ApplyFormatInEditMode = true)] public decimal? TotalAmount { get; set; } DisplayFormat属性仅用于模板化帮助程序,如EditorFor和DisplayFor。这是推荐的方法,而不是使用TextBoxFor。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- asp.net – 数据源不支持服务器端数据分页
- asp.net-mvc – 使用Knockout JS MVC服务器端模型验证显示错
- asp.net – Xdocument不打印声明
- “DataSource和DataSourceID都被定义为”使用ASP.NET GridV
- 如何找出重新启动ASP.NET Web应用程序的原因
- asp.net-mvc-3 – 使用ViewBag的Html.DropDownList选择值不
- 帮助页面ASP.NET vNext MVC 6 Web Api
- 从asp.net代码中调试VS 2008中的sql存储过程
- 为什么asp.net成员资格UserID没有存储在身份验证票证中?
- asp.net – UpdatePanel似乎重新编码页面标题中的字符?
- asp.net – 在ListView中设置最后一项的样式
- asp.net – tinymce在回发时获取HTML代码
- asp.net – 成员资格生成密码仅字母数字密码?
- asp.net – 如何追踪过期的WIF fedauth cookies?
- ASP.NET MVC API 接口验证的示例代码
- asp.net – 如何使用窗口身份验证获取电子邮件地
- asp.net-mvc – Signalr从集线器外部调用特定客户
- asp.net – 有没有办法在Web Api控制器中处理表单
- asp.net-mvc-2 – <::<%:和<%=与嵌套代码(表
- asp.net-mvc – 当参数为Model时,ASP.NET MVC发布