Asp.net mvc 5 试图在umbraco 7.5.3中实现自定义路由,但未触发重写的方法FindContent
我试图将rendermodel模型检索到我的自定义劫持方法中,但我总是得到null。这两个可选参数是正确的 这是我的定制路线: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",
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),