ASP.NET MVC编辑器模板

Let*_*yte 2 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,它查找Double模板等.)

问题是我如何区别我想使用一个带有##0.00(double)ProductPrize的字符串格式的Decimal模板和另一个带有##0.0000(double)ProductWeight 格式的模板?

任何帮助,将不胜感激

Ser*_*sev 8

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

EditorFor(m=>m.ProductPrice, "PriceEditorTemplate")
Run Code Online (Sandbox Code Playgroud)

更多信息:MSDN


Mar*_*arc 5

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

[UIHint("MySpecificEditorTemplate")]
public ProductPrice {get;set;}
Run Code Online (Sandbox Code Playgroud)

例如,EditorFor将使用MySpecificEditorTemplate.cshtml.