【问题标题】:Sitecore Wrong Route in MVCMVC 中的 Sitecore 错误路由
【发布时间】:2015-10-13 13:29:57
【问题描述】:

我将 sitecore 7.0 更新到 7.5,并且有一些由 MVC3 创建的控制器渲染项。

当我在 7.5 中执行它们时,它会显示错误:

无法创建控制器:“组件”。当前的路由 url 是:'api/sitecore/{controller}/{action}'。 `消息:路径'/api/sitecore/Components/Navigation'的控制器未找到或未实现IController。

控制器名称为Components,动作为Navigation

我在 Sitecore 7.0 中完美运行。 我该如何解决这个问题?

【问题讨论】:

  • 您是否有一个名为ComponentsController 的控制器,它是否继承自Controller
  • 不,我没有。我通过 @Url.Action("Navigation", "Components") 使用 ajax 调用发布请求
  • 我不知道这是否相关,但 Sitecore 7.5 不支持 MVC3。它需要 MVC 5.1(参见兼容性表 kb.sitecore.net/articles/087164)。此外,您可能需要遵循约定并将组件重命名为 ComponentsController(同时仍使用 /api/sitecore/components/navigation 路径)。
  • @MarekMusielak 我已经检查了兼容性表,如果您不使用 MVC4 或 MVC5 中可用的任何新功能,我想您可以在更高版本中使用 MVC3 版本。对吗?
  • @MarekMusielak 我需要补充一点,我只从其 bin 文件夹中引用 Sitecore.Mvc

标签: model-view-controller sitecore sitecore7 sitecore7.5


【解决方案1】:

是的,尝试将“Controller”附加到“componentsController”之类的“组件”中,您还可以在/App_Config/Includes/ 中的Sitecore.Speak.Mvc.config 文件中禁用CommandRoutePrefix

另外,如果你想将值传递到特定位置,你可以使用静态 url 而不是@Url.Action(...)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-04-04
    • 2013-02-28
    • 1970-01-01
    • 1970-01-01
    • 2016-07-30
    相关资源
    最近更新 更多