我正在开发一个大型Sitecore 6.6 MVC网站。说实话,我很难在Google上找到任何好的信息。
我的问题是。我在控制器渲染的Sitecore内容编辑器中。 我希望这个控制器渲染指向我的MVC项目中的MVC AREA。
在Sitecore中我的控制器渲染的数据部分,我有2个文本框: 的控制器 和 控制器操作
我在“控制器”文本框中键入什么来指向我的区域。
我的区域是:<site root>/Areas/UserManagement/ProfileController.cs
我已经尝试了一切。我希望有人可以提供帮助。
答案 0 :(得分:3)
在Controller字段中,您将Profile
指定为ProfileController
,并在Controller Action字段中输入您要调用的ProfileController的Action名称。
您的UserManagement区域可能会有一个UserManagementAreaRegistration
类,其中定义了区域特定的路由,这将从ApplicationStart事件处理程序中调用。
这就是如何连接控制器渲染。当看到这个时,有一些绊脚石:
动作名称唯一性。我没有设法获得MapRoute的命名空间重载,以允许在解决方案中的其他位置发生的操作名称。
public System.Web.Routing.Route MapRoute(string name, string url, object defaults, string[] namespaces)
然而,为了能够使视图解析过程尊重区域路径,相反它似乎搜索由控制器名称确定的标准视图文件夹。从您的示例中,我不得不将我的剃刀视图的副本放入~/Views/UserManagement/
以使其呈现。