Asp.net mvc 5 试图在umbraco 7.5.3中实现自定义路由,但未触发重写的方法FindContent

Asp.net mvc 5 试图在umbraco 7.5.3中实现自定义路由,但未触发重写的方法FindContent,asp.net-mvc-5,umbraco,umbraco7,custom-routes,Asp.net Mvc 5,Umbraco,Umbraco7,Custom Routes,我试图将rendermodel模型检索到我的自定义劫持方法中,但我总是得到null。这两个可选参数是正确的 这是我的定制路线: RouteTable.Routes.MapRoute( "umbracoRoute", "token-verification/{action}/{userId}/{code}", new { controller = "ExternalLinkOperations",

我试图将rendermodel模型检索到我的自定义劫持方法中,但我总是得到null。这两个可选参数是正确的

这是我的定制路线:

RouteTable.Routes.MapRoute(
        "umbracoRoute",
        "token-verification/{action}/{userId}/{code}",
        new
        {
            controller = "ExternalLinkOperations",
            action = "",
            userId = UrlParameter.Optional,
            code = UrlParameter.Optional
        },
        new ConfirmEmailRouteHandler(3290)
        );
这是ConfirmEmailRouteHandler类:

public class ConfirmEmailRouteHandler: UmbracoVirtualNodeByIdRouteHandler
{
    public ConfirmEmailRouteHandler(int realNodeId) : base(realNodeId)
    {
    }

    protected override IPublishedContent FindContent(RequestContext requestContext, UmbracoContext umbracoContext, IPublishedContent baseContent)
    {
        return base.FindContent(requestContext, umbracoContext, baseContent);
    }
}
这是ExternalInkOperationsController中从rendermodel继承的方法:

[AllowAnonymous]
public async Task<ActionResult> ConfirmEmail(RenderModel model, string userId, string code)
{}
而不是

new ConfirmEmailRouteHandler(3290), 
但是没有成功,我使用的是umbraco v7.5.3。在任何时候调试代码时,被重写的方法FindContent都会被激发,只有当构造函数被激活时


提前感谢您的帮助

我没有意识到route属性不正确,我有RouteTable.Routes.MapRoute,我应该使用RouteTable.Routes.MapUmbracoRoute

香农·德米尼克的回答

new ConfirmEmailRouteHandler(3290),