在现有 Sitecore 项目中包含 MVC
Including MVC in existing Sitecore Project
我们有一个 Sitecore 项目正在 运行ning,它基于常规 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 组件的子布局(没有数据源)?
以最简单的方式,您需要具备以下条件:
- Item 为您的页面,该页面有 URL;这在 Sitecore
中很正常
该页面项目应分配 布局。从 Presentation --> Details 菜单 select 至少在那个舞台上有一个布局。如果还没有layout,需要在/Layout/Layouts文件夹下新建一个layout定义项,并关联到某个*.cshml文件。还要提到布局应该有一个占位符,您将在其中 "inject" 您的渲染。
@Html.Sitecore().Placeholder("Main")
您需要在 Sitecore 的 /Layout/Renderings 文件夹下创建一个 Controller Rendering。确保将 Controller 和 Controller Action 字段设置为控制器名称和操作方法名称。
最后,再次转到 Presentation --> Details --> Edit --> Controls 并将新创建的渲染添加到您拥有的占位符中在您的布局 *.cshtml 文件上。
到此为止。
希望对您有所帮助!
我们有一个 Sitecore 项目正在 运行ning,它基于常规 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 组件的子布局(没有数据源)?
以最简单的方式,您需要具备以下条件:
- Item 为您的页面,该页面有 URL;这在 Sitecore 中很正常
该页面项目应分配 布局。从 Presentation --> Details 菜单 select 至少在那个舞台上有一个布局。如果还没有layout,需要在/Layout/Layouts文件夹下新建一个layout定义项,并关联到某个*.cshml文件。还要提到布局应该有一个占位符,您将在其中 "inject" 您的渲染。
@Html.Sitecore().Placeholder("Main")
您需要在 Sitecore 的 /Layout/Renderings 文件夹下创建一个 Controller Rendering。确保将 Controller 和 Controller Action 字段设置为控制器名称和操作方法名称。
最后,再次转到 Presentation --> Details --> Edit --> Controls 并将新创建的渲染添加到您拥有的占位符中在您的布局 *.cshtml 文件上。
到此为止。
希望对您有所帮助!