这是从视图的项目

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

这是来自Editortemplate的代码(简化)

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

但是输出没有跨度标签。

的数据类型 model.BirthDateDate?

文件夹结构是

  • 视图
    • 共享
      • Editortemplates
        • date.vbhtml

编辑

好,所以经过一番挖掘,我发现如果我添加 <UIHint("Date")> 对于我的BuddyClass,模板可以工作。

因此,我的“新”问题是...为什么默认情况下它不采用它?

有帮助吗?

解决方案

好。 @brad Wilson在 ASP.NET论坛.

默认模板名称基于CLR类型名称,在这种情况下为DateTime。 “ date”是VB中的一个快捷方式,而不是真实的类型名称(C#中的“ INT”确实是CLR的“ INT32”的快捷方式)

现在我懂了。谢谢@brad

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top