为什么我的EditorTemplate没有解雇?

时间:2010-11-25 21:54:36

标签: asp.net-mvc vb.net asp.net-mvc-3 razor editortemplates

这是视图中的项目

 @Html.EditorFor(Function(model) model.BirthDate)

这是EditorTemplate(简化)

中的代码
@ModelType Date?
<span>
    @Html.TextBox("", Model)
</span>

但输出没有span标记。

model.BirthDate的数据类型为Date?

文件夹结构

    • 共享
      • EditorTemplates
        • Date.vbhtml

修改

好的,经过一番挖掘,我发现如果我将<UIHint("Date")>添加到我的BuddyClass中,那么模板就可以了。

所以我的“新”问题是......为什么默认情况下不会选择这个?

1 个答案:

答案 0 :(得分:1)

好。 @Brad Wilson在asp.net forums回答了我的问题。

  

默认模板名称基于CLR类型名称,在本例中为DateTime。 “Date”是VB中的快捷名称,而不是真正的类型名称(很像C#中的“int”实际上是CLR“Int32”的快捷方式)

现在我明白了。谢谢@Brad