umbraco 7 中的路由劫持

Route Hijacking in umbraco 7

我试图在 Umbraco 7 上设置路由劫持,但收效甚微。 我有一个名为 Home.cshtml 的视图,其中的前几行是:

@inherits Umbraco.Web.Mvc.UmbracoTemplatePage
@{
    Layout = "Master.cshtml";
}

我添加了一个控制器:

-编辑- 更新了问题以包括 Index() 控制器操作。

namespace CLIAUmbraco7.Controllers
{
    public class HomeController : Umbraco.Web.Mvc.RenderMvcController
    {
        public override ActionResult Index(RenderModel model)
        {
            string country = "";

            return base.Index(model);
        }
        public ActionResult Index()
        {
            return View();
        }     
    }

Layout 行上设置断点会在站点加载之前捕获该站点,但永远不会调用 HomeController。知道我做错了什么吗?

您缺少 Index() 控制器操作。您的控制器应如下所示:

public class HomeController : Umbraco.Web.Mvc.RenderMvcController
{
    public override ActionResult Index(RenderModel model)
    {
        //Do some stuff here, then return the base method
        return base.Index(model);
    }

}

看看 Umbraco website 上的文章。

默认需要调用控制器

[TheDocumentType别名YouWantToHijack]控制器

如果您的文档类型不是"Home"那么它不会被拦截。