Asp.net mvc 用于不加载自定义模板路径的Html.editor

Asp.net mvc 用于不加载自定义模板路径的Html.editor,asp.net-mvc,asp.net-mvc-2,Asp.net Mvc,Asp.net Mvc 2,在我的节目里我把 <%: Html.EditorFor(m => m.EducationData , "~/Views/HTML/Shared/EditorTemplates/Foo/CustomTemplate.ascx")%> m.EducationData ,“~/Views/HTML/Shared/EditorTemplates/Foo/CustomTemplate.ascx”)%%> 但它不会从我给出的路径加载编辑器模板

在我的节目里我把

<%: Html.EditorFor(m => m.EducationData
                      , "~/Views/HTML/Shared/EditorTemplates/Foo/CustomTemplate.ascx")%>
m.EducationData
,“~/Views/HTML/Shared/EditorTemplates/Foo/CustomTemplate.ascx”)%%>

但它不会从我给出的路径加载编辑器模板。我在一些示例中看到过,他们为模板提供了自定义路径。有人能提出一些建议吗?或者MVC2是否支持编辑器模板的自定义路径?或者有没有办法自定义web.config或某些配置,以便我可以更改默认模板位置??

我认为您的文件夹太多了。在使用EditorTemplates和DisplayTemplates时,您应该遵循一个特定的约定。尝试将模板放入此文件夹,它应该可以工作:

"~/Views/Shared/EditorTemplates/CustomTemplate.ascx"
更新:

并非所有editortemplates都需要进入共享文件夹。您也可以将特定于控制器的模板放入特定于控制器的文件夹中:

"~/Views/Home/EditorTemplates/CustomTemplate.ascx"

这确实有效。但是没有任何方法可以提供自定义路径吗?您可能可以,但我相信它需要一个自定义视图引擎。说到EditorTemplates和DisplayTemplates,我发现最好只遵循传统的文件夹结构。