2017-03-21 4 views
0

レンダリングモデルをカスタムハイジャックメソッドに取得しようとしましたが、常にnullになります。 2つのオプションのパラメータは正しいです。umbraco 7.5.3でカスタムルートを実装しようとしましたが、上書きされたメソッドFindContentが起動しません

これは私のカスタムルートです:

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); 
    } 
} 

と、これはrendermodelから継承ExternalLinkOperationsController方法である:

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

私はモデルパラメータを取得していないので、2つのオプションのみ私が間違っていることができるものリットルのパラメータが、私はまた、代わりに

new ConfirmEmailRouteHandler(3290), 

のこの

new UmbracoVirtualNodeByIdRouteHandler(3290) 

を作ってみましたが、成功せず、私はumbracoのV 7.5.3を使用しています。オーバーライドされたFindContentメソッドは、コンストラクタが起動されたときにのみ起動されます。私は、ルートプロパティが間違って実現しませんでした

答えて

0

任意の助けを事前に

おかげで、私はRouteTable.Routes.MapRouteを持っている、と私はRouteTable.Routes.MapUmbracoRoute

答えを使用してすることになっていますシャノンDeminickによってhere

関連する問題