ASP.NET MVC编辑器模板

时间:2011-12-08 09:51:31

标签: asp.net-mvc asp.net-mvc-3 asp.net-mvc-2

我对编辑器模板有疑问。例如,我有一个带有日期字段,产品奖励字段和产品字段权重的模型。我已成功为DateTime和Decimal创建了编辑器模板。我理解当我在任何字段使用EditorFor时,它取决于字段的数据类型。

因此,当我使用:EditorFor(m=>m.DateOfBirth)为DateTime格式时,它会在EditorTemplates文件夹中查找DateTime模板,而EditorFor(m=>m.ProductPrice)会查找Double模板等等。)

问题是我如何区别我想为(双)ProductPrize使用一个带字符串格式为##0.00的十进制模板,为(双)ProductWeight使用格式为##0.0000的另一个模板?

任何帮助将不胜感激

2 个答案:

答案 0 :(得分:8)

您可能希望使用EditorFor的重载,它接受模板名称作为第二个参数,例如:

EditorFor(m=>m.ProductPrice, "PriceEditorTemplate")

更多信息:MSDN

答案 1 :(得分:5)

使用 UIHint 属性在模型中定义它:

[UIHint("MySpecificEditorTemplate")]
public ProductPrice {get;set;}

例如,EditorFor将使用 MySpecificEditorTemplate.cshtml