将MVC Web迁移到Sitecore的最佳实践
我们有一些MVC 3.0 Web应用程序,其中一些是Web Form和MVC3.0在项目/解决方案中的组合.
我对sitecore很陌生,有人可以帮我理解以下关于将现有应用程序迁移到Sitecore的问题吗? >在什么类型的场景中我们应该将MVC3.0剃刀视图移动到sitecore? 我按照下面的博客,仍然不清楚为什么以及何时应该将网页控件和剃刀视图转换为Sitecore渲染. 谢谢. 解决方法
将MVC应用程序迁移到Sitecore解决方案时,您可以选择一些选项 – 根据要迁移的组件的性质,您必须选择最合适的选项.
我会尝试解决您的5个具体问题: 1.何时使用Razor视图 我不确定问题是“何时使用Razor视图”或问题是“何时使用Sitecore View Rendering” – 我将假设后者. 如果您正在编写不需要任何业务逻辑且仅处理渲染项的演示组件,则View Rendering非常有用.如果您正在考虑在Razor视图中添加代码,您应该考虑控制器渲染是否更合适,或者可能是自定义mvc.getModel管道. 2.迁移陷阱 将MVC应用程序迁移到Sitecore时可能会遇到的一些问题. >基于组件的控制器 – 在MVC中,每页有一个控制器. Sitecore支持ControllerRenderings的概念,允许您在页面上拥有多个控制器(注意:总会有一个路径控制器可以被视为主要控制器). 3.管道定制 您无需自定义Sitecore管道.我可以看到一些示例,其中在迁移故事的上下文中修改管道是有用的.我最近在Sitecore用户组中谈到的一个例子涉及在全局(通过mvc.resultExecuting管道)添加一个ActionFilter,它将ASP.Net MVC应用程序注入Sitecore占位符.在我的示例中,我将MVC音乐商店注入占位符并使用Sitecore控件橱窗装饰(页眉/页脚/菜单).这样我就可以将我现有的MVC应用程序带入Sitecore,而无需进行太多更改. 4.导航链接 如果导航端点是Sitecore项目路径(例如,网站上项目的路径),则应使用Sitecore的LinkManager生成相应的链接.如果端点是标准MVC路由,则RouteLink和ActionLink应该可以正常工作. 我想如果没有一个具体的例子,答案将是“也许”. 5.最佳实践迁移博客文章 我不知道任何关于Sitecore MVC迁移最佳实践的博客文章或文章.请记住,完整的MVC支持是Sitecore的最新成员,但从开始到结束还没有多少人见过. 为什么以及何时转换为Sitecore渲染 你结束了你的问题,说明你仍然对何时以及为什么要将控件和Razor视图转换为Sitecore渲染感到困惑.以下是一些指标,表明某些东西是Sitecore渲染的候选者: >它是一个可以在许多页面上重用的组件. 在MVC的上下文中,有一些指标可能不适合将某些内容转换为Sitecore呈现: >它在很大程度上依赖于路由和路由参数. 我相信这个答案中的许多要点可以扩展,我知道没有明确的规则 – 但我希望这个答案有助于消除一些混乱…… (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |