如何从主项目中引用区域中定义的DisplayTemplates?

时间:2010-06-11 22:30:07

标签: asp.net asp.net-mvc asp.net-mvc-2

我为类定义了一些显示模板,当我将它们放在views / shared / DisplayTemplates中时它们运行良好。然而,在我将它们移动到某个区域之后,看起来像ASP.NET MVC将不会在Area内部查找模板。

如何从主项目中引用区域中定义的DisplayTemplates?这是一个好习惯吗?

2 个答案:

答案 0 :(得分:1)

我认为您不能在主项目或其他区域中引用区域内存在的显示模板。

这是非常符合逻辑的,我认为你应该遵循这个约束而不是试图解决它。将某个区域视为应用程序的独立逻辑部分 - 它应该拥有该区域内的所有资源。但是,如果您拥有应该从其他区域使用的主布局或徽标图像等资源,则应将此资源放置在主项目文件夹中,而不是放在特定区域中以使其可供所有人使用。

答案 1 :(得分:1)

我不完全赞同Shay - 在共享可重用区域的情况下,模板可以指定为默认模板,并在主网站项目中根据需要进行否决。在查找模板时,TemplateHelper类应该考虑帐户中的区域。

这很容易修复,通过 - see my other post here