用于在剃刀视图中格式化和装饰数字的MVC5 DataAnnotations

时间:2014-07-23 16:51:59

标签: jquery asp.net-mvc razor

我正在使用MVC5并创建一个模型和视图,在Textbox控件中显示用户可编辑的值。我看到[DisplayFormat()][DataType()]注释,但我不确定其中任何一个/两者是否允许自动在文本框控件中包含百分号。例如,我正在寻找所需的显示:

+-----------+
|       -2% |
+-----------+

因此,如果用户输入文本框并键入仅2的值,则文本框将自动显示2%。如果用户输入的值为-2,则文本框将自动显示-2%。

我还需要一个文本框控件来显示正值的+加号和用户可以指定的-减号以使值为负值。因此,如果用户在文本框中输入2,它将显示为+2,但如果他们指定-2则相应地显示为-2。有点棘手...

如果可以注释Model类成员以满足此要求,那么在POST控制器操作中如何处理这些字段?换句话说,我是否必须从值中删除百分号或者不包含它?

我理解这是掩盖,我知道将执行此操作的jQuery扩展/插件,但我无法确定这是否是可以在模型中指定的格式/掩码而不需要jQuery。

我还有其他特殊要求,但我认为对此的回答将指向我需要的方向。有没有人有一个如何装饰模型成员并在剃刀视图中显示它的示例片段?

1 个答案:

答案 0 :(得分:1)

Razor不使用服务器控件(作为带有codebehind的aspx)。

这意味着你有限(?)使用HTML控件,如果你想要一个特殊的行为,你就无法避免使用javascript。

我建议使用以下jQuery plugin