我在Visual Studio解决方案中有两个ASP.NET MVC 4网站。
我在其中一个网站上有自定义的EditorTemplate,我想在其他网站中重复使用相同的模板。我尝试将此模板添加为第一个网站的链接。
但是当我启动第二个网站时,我的自定义编辑器模板不会被渲染。当我打开模板时,我甚至无法在那里设置断点,似乎Visual Studio没有将此模板视为当前MVC项目的一部分。
只要删除链接的模板并添加实际模板文件的副本,模板就会开始工作。
这是否意味着由于一些奇怪的原因,ASP.NET MVC项目不支持来自其他项目的链接cshtml文件?或者我可能做错了什么?
答案 0 :(得分:3)
这是否意味着由于一些奇怪的原因ASP.NET MVC项目没有 支持来自其他项目的链接cshtml文件?
是的,这正是它的含义。视图需要物理位于同一个ASP.NET项目中。如果您不想要此默认行为,则必须编写自定义视图引擎,以便从任何位置查找视图。例如,这里的an article说明了如何在可重用库中嵌入Razor视图并在各种项目中使用它们。