具有参数错误的Umbraco操作:“找不到页面,没有umbraco文档与URL'/ About / Topic?topic = aloha'相匹配”。

时间:2019-06-08 11:01:05

标签: umbraco

我有这个问题。我使用参数“ topic”创建了“ Topic”操作,但是当我转到“ About / Topic?topic = aloha”时,找不到此操作,并且出现错误:“找不到页面 没有umbraco文档与url'/ About / Topic?主题=喂”。 “

控制器:

public class AboutController : Umbraco.Web.Mvc.RenderMvcController
{
    // GET: About
    public ActionResult About(RenderModel model)
    {
        return View("About", model);
    }

    public ActionResult Topic( string topic)
    {
        return View("About");
    }
}

路由:

public static void RegisterRoutes(RouteCollection routes)
    {
        routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

        routes.MapRoute(
            name: "Default",
            url: "{controller}/{action}/{id}",
            defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
        );
        routes.MapRoute(
        name: "Default1",
        url: "{controller}/{action}/{topic}",
        defaults: new { controller = "About", action = "Topic", topic = UrlParameter.Optional }
        );
    }

1 个答案:

答案 0 :(得分:0)

如果您使用的是Umbraco Mvc控制器,则必须在Umbraco管道而不是常规MVC路由中创建路由。

从文档中

您可以指定自己的自定义MVC路由以在Umbraco管道中工作。这要求您使用具有自定义路由的Umbraco.Web.Mvc.UmbracoVirtualNodeRouteHandler的实现。

有关Umbraco V7的更多信息here

有关Umbraco V8的更多信息here