在现有Sitecore项目中包括MVC

在现有Sitecore项目中包括MVC,sitecore,sitecore-mvc,Sitecore,Sitecore Mvc,我们已经启动并运行了一个Sitecore项目,它基于常规的aspx/ascx方法 随着时间的推移,我们希望将现有的子布局转换为MVC 出于测试目的,我正在尝试向项目中添加一个非常简单的MVC文本组件,但不知怎么的,我还是被卡住了 到目前为止我所做的: 已安装的MVC 5.2 已安装网页 添加了引用和绑定 添加了MVC脚手架 现在,该站点确实编译并运行 我有一个控制器: public class TextComponentController : Controller {

我们已经启动并运行了一个Sitecore项目,它基于常规的aspx/ascx方法

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

出于测试目的,我正在尝试向项目中添加一个非常简单的MVC文本组件,但不知怎么的,我还是被卡住了

到目前为止我所做的:

  • 已安装的MVC 5.2
  • 已安装网页
  • 添加了引用和绑定
  • 添加了MVC脚手架
现在,该站点确实编译并运行

我有一个控制器:

    public class TextComponentController : Controller
    {
      public ActionResult Index()
      {
        return View();
      }
    }
我的看法是:

<h2>Index</h2>

<p>Hello from my View Template</p>
索引
您好,来自我的视图模板

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


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

以最简单的方式,您需要具备以下功能:

  • 项目用于您的页面,即具有URL的页面;这在Sitecore中很正常
  • 该页面项应分配布局。从“演示文稿”-->详细信息”菜单中,至少选择该舞台上的布局。如果还没有布局,则需要在/layout/Layouts文件夹下创建布局定义项,并将其与某些*.cshml文件关联。还要提到布局应该有一个占位符,您可以在其中“注入”渲染

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

  • 最后,再次转到演示-->详细信息-->编辑-->控件并将新创建的渲染添加到布局*.cshtml文件中的占位符中。

  • 都做完了


    希望这有帮助

    您在Sitecore中创建了控制器渲染吗?还没有,但我现在看到您可以添加视图渲染。谢谢Martin,我现在就试试。模型/视图/控制器文件夹是否需要位于我的网站的根目录中,或者我是否可以将视图和控制器存储在我想要的任何位置?我们正在为不同类型的内容组件使用子文件夹。例如,Website/layouts/projectName/FooterController只是普通的.NET类,由编译器编译成DLL,并在运行时由Sitecore解析。你可以把它们放在你想放在代码上的任何地方;这同样适用于经典的MVC汉克·尤马丁(Hank you Martin)。但Sitecore似乎在网站/视图中搜索视图。如何更改它?Easy=))返回视图(“/your/View/path”);谢谢Martin,有没有办法将我的mvc组件包含在我现有的MainLayout(aspx文件)中,或者我必须重写它?