我们有几个 MVC 3.0 Web 应用程序,其中一些在项目/解决方案中结合了 Web 窗体和 MVC3.0。
我是 sitecore 的新手,有人可以帮助我了解以下有关将现有应用程序迁移到 Sitecore 的内容吗?
我关注了下面的博客,但仍然不清楚为什么以及何时应该将 Web 控件和 Razor View 转换为 Sitecore 渲染。
谢谢你。
最佳答案
将 MVC 应用程序迁移到 Sitecore 解决方案时,您有几个可用选项 - 根据您要迁移的组件的性质,您必须选择最合适的选项。
我将尝试解决您的 5 个具体问题:
1. 何时使用 Razor View
我不确定问题是“何时使用 Razor View ”还是“何时使用 Sitecore View 渲染”——我会假设是后者。
如果您正在编写不需要任何业务逻辑且仅处理渲染项目的演示组件,则 View 渲染非常有用。如果您正在考虑在 Razor View 中添加代码,您可能应该考虑 Controller 渲染是否更合适,或者自定义 mvc.getModel
管道。
2. 迁移问题
在将 MVC 应用程序迁移到 Sitecore 时,您可能会发现一些问题。
3.管道定制
您不必自定义 Sitecore 管道。我可以看到一些示例,其中在迁移故事的上下文中修改管道会很有用。我最近在 Sitecore 用户组中谈到的一个例子涉及添加
ActionFilter
全局(通过 mvc.resultExecuting
管道)将 ASP.Net MVC 应用程序注入(inject)到 Sitecore 占位符中。在我的示例中,我将 MVC Music Store 注入(inject)了一个占位符,并让 Sitecore 控制了橱窗装饰(页眉/页脚/菜单)。通过这种方式,我可以将现有的 MVC 应用程序引入 Sitecore,而无需对其进行太多更改。4.导航链接
如果您的导航端点是 Sitecore 项目路线(即网站上项目的路径),您应该使用 Sitecore 的
LinkManager
生成适当的链接。如果端点是标准 MVC 路由 RouteLink
和 ActionLink
应该工作得很好。我想如果没有具体的例子,答案将是“也许”。
5. 最佳实践迁移博文
我不知道有任何关于 Sitecore MVC 迁移最佳实践的博客文章或文章。请记住,全面的 MVC 支持是 Sitecore 最近新增的功能,从头到尾看到这段旅程的人并不多。
为什么以及何时转换为 Sitecore 渲染
您结束了您的问题,指出您仍然对何时以及为何将控件和 Razor View 转换为 Sitecore 渲染感到困惑。以下是一些可以作为 Sitecore 渲染候选的指标:
在 MVC 的上下文中,这里有一些指标表明将某些内容转换为 Sitecore 渲染可能是不正确的:
我确信这个答案中的许多要点都可以扩展,我知道对此没有明确的规则 - 但我希望这个答案有助于消除一些困惑......
关于sitecore - 将 MVC Web 迁移到 Sitecore 的最佳实践,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15320113/