在现有 Sitecore 项目中包含 MVC

Including MVC in existing Sitecore Project

我们有一个 Sitecore 项目正在 运行ning,它基于常规 aspx/ascx 方法。

随着时间的推移,我们希望将现有的子布局转换为 MVC。

出于测试目的,我尝试将一个非常简单的 MVC 文本组件添加到项目中,但我仍然不知何故卡住了。

到目前为止我做了什么:

现在,站点确实编译并且 运行。

我有这个控制器:

    public class TextComponentController : Controller
    {
      public ActionResult Index()
      {
        return View();
      }
    }

而我的观点:

<h2>Index</h2>

<p>Hello from my View Template</p>

所以这里绝对没有什么特别的;)

如何创建仅显示此简单 MVC 组件的子布局(没有数据源)?

以最简单的方式,您需要具备以下条件:

  1. Item 为您的页面,该页面有 URL;这在 Sitecore
  2. 中很正常
  3. 该页面项目应分配 布局。从 Presentation --> Details 菜单 select 至少在那个舞台上有一个布局。如果还没有layout,需要在/Layout/Layouts文件夹下新建一个layout定义项,并关联到某个*.cshml文件。还要提到布局应该有一个占位符,您将在其中 "inject" 您的渲染。

    @Html.Sitecore().Placeholder("Main")
    
  4. 您需要在 Sitecore 的 /Layout/Renderings 文件夹下创建一个 Controller Rendering。确保将 ControllerController Action 字段设置为控制器名称和操作方法名称。

  5. 最后,再次转到 Presentation --> Details --> Edit --> Controls 并将新创建的渲染添加到您拥有的占位符中在您的布局 *.cshtml 文件上。

到此为止。

希望对您有所帮助!