If you need to implement partial routing in Optimizely CMS 12, this is a good start.
There are of course somebreaking changes as per the documentation:
The interface IPartialRouter changed slightly, and implementations should now be registered in DI container as IPartialRouter, rather than the previous way to register a partial router, which was through the extension method RegisterPartialRoute on RouteCollection.
OK, lets start with adding a partial router class which implements IPartialRouter:
public class MyPagePartialRouter : IPartialRouter<MyPage, MyPage> { public MyPagePartialRouter() { } public object RoutePartial(MyPage content, UrlResolverContext urlResolverContext) { urlResolverContext.RouteValues.Add("requestPath", urlResolverContext.RemainingSegments); urlResolverContext.RemainingSegments = Array.Empty<Char>(); return content; } public PartialRouteData GetPartialVirtualPath(MyPage content, UrlGeneratorContext urlGeneratorContext) { return null; } }
We add our params to theRouteValues
collection. Note we useRemainingSegments
instead of RemainingPath.
Then we need to register it in a DI container like this:
services.AddSingleton<IPartialRouter, MyPagePartialRouter>();
And that's it!
Top comments(0)
For further actions, you may consider blocking this person and/orreporting abuse