Sitecore 8.1 和控制器渲染
Sitecore 8.1 and controller rendering
我知道这听起来很愚蠢,但我无法在默认的 Sitecore 8.1 布局中包含控制器渲染。
我在我的 MVC 项目中创建了一个控制器,并将一个控制器呈现分配给 HelloController 索引操作到 sitecore。在主页中,我在示例渲染完成后添加了控制器 initially。
有人说here"layout was still pointing to default aspx instead of cshtml which caused this issue"我不知道怎么改。
在日志中我遇到了这样的错误:
Rendering control {id} not found for '/sitecore/content/Home'. Item id: {id}, database: web.
但渲染存在于网络数据库中。
我什至在新的体验编辑器中尝试过并遇到了同样的错误,但这次是在 master 数据库上,这是荒谬的,因为该元素是在 master 数据库上创建的。
当我创建自己的布局并将控制器添加到页面时,控制器按预期工作。
问题是:
为什么我不能将控制器渲染添加到布局中?
如何更改布局以指向 cshtml 而不是 aspx?
不幸的是,所有示例布局和渲染都是用 ASP.net WebForms 而不是 ASP.net MVC 编写的。
您不能在一个 http 请求中混合使用 MVC 和 WebForms 组件
请在您的解决方案中安装此包,它会起作用。
http://ctorio.aquasonic.ch/content/2014/04/Sample-MVC-1.0.zip
要将布局指向 aspx,您需要更改 cshtml 文件的路径。默认布局。检查下图:
我知道这听起来很愚蠢,但我无法在默认的 Sitecore 8.1 布局中包含控制器渲染。
我在我的 MVC 项目中创建了一个控制器,并将一个控制器呈现分配给 HelloController 索引操作到 sitecore。在主页中,我在示例渲染完成后添加了控制器 initially。
有人说here"layout was still pointing to default aspx instead of cshtml which caused this issue"我不知道怎么改。
在日志中我遇到了这样的错误:
Rendering control {id} not found for '/sitecore/content/Home'. Item id: {id}, database: web.
但渲染存在于网络数据库中。 我什至在新的体验编辑器中尝试过并遇到了同样的错误,但这次是在 master 数据库上,这是荒谬的,因为该元素是在 master 数据库上创建的。
当我创建自己的布局并将控制器添加到页面时,控制器按预期工作。
问题是: 为什么我不能将控制器渲染添加到布局中? 如何更改布局以指向 cshtml 而不是 aspx?
不幸的是,所有示例布局和渲染都是用 ASP.net WebForms 而不是 ASP.net MVC 编写的。
您不能在一个 http 请求中混合使用 MVC 和 WebForms 组件
请在您的解决方案中安装此包,它会起作用。
http://ctorio.aquasonic.ch/content/2014/04/Sample-MVC-1.0.zip
要将布局指向 aspx,您需要更改 cshtml 文件的路径。默认布局。检查下图: