【发布时间】:2015-02-02 12:31:02
【问题描述】:
在我看来,我有几个编辑器,比如关注
@Html.EditorFor(Model => Model.CashBalance)
现在,当我在该编辑器中输入任何值时,该值应在文本框更改事件中更改为货币值
例如: 123 应显示为 123.00 14.35 应显示为 14.35
我想以通用方式执行此操作,这样我就不需要在每个地方都更改它,因为我的项目有很多编辑器,它们接受用户的输入。
因为我对所有这些文本框都使用了 EditorTemplate,所以我想自己处理这里。
我的 EditorTemplate 是 decimal.cshtml,它看起来像下面这样
@model decimal?
@{
string value = (Model.HasValue == false || Model.Value == 0) ? "" : string.Format("{0:0.00}", Model.Value);
}
@Html.TextBox(
"",
value,
new { @class="amountRightAlign"}
)
我可以在这里编写任何 textchange 事件,以便它影响任何有十进制数据类型的地方吗?
提前致谢?
【问题讨论】:
-
您需要使用 javascript/jquery 并处理
.change()事件。它与使用EditorTemplate无关。它只需要@Html.TextBoxFor(m => m, "{0:0.00}", new { @class="amountRightAlign"})
标签: asp.net-mvc asp.net-mvc-3 mvc-editor-templates editortemplates