我对编辑器模板有疑问。例如,我有一个带有日期字段,产品奖励字段和产品字段权重的模型。我已成功为DateTime和Decimal创建了编辑器模板。我理解当我在任何字段使用EditorFor时,它取决于字段的数据类型。
因此,当我使用:EditorFor(m=>m.DateOfBirth)
为DateTime格式时,它会在EditorTemplates文件夹中查找DateTime模板,而EditorFor(m=>m.ProductPrice)
会查找Double模板等等。)
问题是我如何区别我想为(双)ProductPrize使用一个带字符串格式为##0.00
的十进制模板,为(双)ProductWeight使用格式为##0.0000
的另一个模板?
任何帮助将不胜感激
答案 0 :(得分:8)
您可能希望使用EditorFor
的重载,它接受模板名称作为第二个参数,例如:
EditorFor(m=>m.ProductPrice, "PriceEditorTemplate")
更多信息:MSDN
答案 1 :(得分:5)
使用 UIHint 属性在模型中定义它:
[UIHint("MySpecificEditorTemplate")]
public ProductPrice {get;set;}
例如,EditorFor将使用 MySpecificEditorTemplate.cshtml 。