asp.net-mvc – MVC控制器与开箱即用的Sitecore控制器
我一直在阅读很多关于MVC的博客:
http://www.sitecore.net/Community/Technical-Blogs/John-West-Sitecore-Blog.aspx 但是,我无法向自己/团队解释/说服: >何时使用自定义控件与开箱即用的站点核心控制器? 我也看了下面但仍不确定: 任何帮助将不胜感激. 解决方法
虽然我大致同意Kevin Obee的陈述,但我认为值得提醒自己,在Sitecore中,控制器被用于两个不同的角色:
>页面级控制器(由项目路由调用) 何时使用:自定义控制器/默认Sitecore控制器 页面级控制器 默认情况下,任何与项目路径匹配的路由都将使用Sitecore.Mvc.Controllers.SitecoreController上的“索引”操作.此操作将根据项目的布局配置返回ViewResult. 如果您需要更改此行为(例如,影响整个页面的内容),您可以在项目上指定自定义控制器和操作(或项目的标准值).对于自定义控制器,您可以自己滚动或子类化默认控制器. 组件级控制器 对于ViewRendering,Sitecore渲染Razor视图而不需要特定的控制器(我猜它是正在运行的页面级控制器 – 但是想象一下Sitecore提供了一个默认控制器,它使用mvc.getModel管道获取模型并将其提供给它到剃刀观点). 对于ControllerRendering,您提供了一个可以执行逻辑的自定义控制器(请参阅Kevin的答案)并为视图提供模型.子类化Sitecore.Mvc.Controllers.SitecoreController没有任何好处. 何时调用控制器 页面级控制器 页面级控制器上的操作由路由引擎调用. 组件级控制器 在页面视图呈现时调用ControllerRendering上的操作. 使用的好处:自定义控制器/默认Sitecore控制器 自定义控制器优于默认Sitecore控制器的好处是您可以控制逻辑.使用默认Sitecore控制器的好处是Sitecore为您提供逻辑. 我们是否应该在Views上包含所有业务逻辑 不.(见凯文的回答) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- asp.net-mvc – mvc asp.net中的自定义成员资格提供程序或配
- wcf – 使用camelCase进行OData WebAPI查询字符串选项?
- asp.net-core-mvc – 无法更新Entity Framework Core中的标
- asp.net AJAX实现无刷新获得数据
- ASP.NET -- WebForm -- HttpRequest类的方法和属性
- asp.net-mvc – MVC验证消息 – 本地化?
- asp.net – 为.Net使用HighchartsExport库我得到空白页面
- asp.net – “请求已中止:无法在Braintree中创建SSL / TLS
- 将NUnit添加到ASP.NET MVC测试框架的选项
- asp.net – 如何实现zopfli以获得更好的gzip压缩?
- 用asp.net core 2.0 + EFCore.Sqlite做个小网站
- asp.net-mvc – ASP.NET MVC和混合模式认证
- asp.net – 使用SVN和TeamCity的Web应用程序部署
- asp.net – mod_mono asp MVC4错误:System.Secu
- .net – MVC 4 Mocking HttpContext – 如何模拟
- asp.net-mvc-3 – 返回JsonFile的MVC3控制器
- asp.net-mvc – 可以为MVC Razor Layout指定可搜
- asp.net-mvc – 在MVCContrib网格中格式化布尔列
- asp.net – 如何在Visual Studio 2008中安装(获取
- asp.net-mvc – 将参数传递给html partial并在部