Inheritance: TagProcessorOptions
        public override async Task ProcessAsync(TagHelperContext context, TagHelperOutput output)
        {
            if (string.IsNullOrWhiteSpace(SkipUrlToken))
            {
                SkipUrlToken = "_ skip_";
            }
            if (string.IsNullOrWhiteSpace(TakeUrlToken))
            {
                TakeUrlToken = "_ top_";
            }
            if (Query == null)
            {
                Query = TagContextHelper.GetBindingContext(httpAccessor.HttpContext, BindingContextNames.Query);
            }
            if (For == null)
            {
                For = TagContextHelper.GetBindingContext(httpAccessor.HttpContext, BindingContextNames.Collection);
            }
            if (string.IsNullOrWhiteSpace(UrlDefault) && Url == null && Query == null)
            {
                new ArgumentNullException("url-default/url/query");
            }

            var ctx = new ContextualizedHelpers(ViewContext, html, httpAccessor, component, urlHelperFactory, factory);

            if (PageSizeDefault <= 0)
            {
                PageSizeDefault = 10;
            }
            if (MaxPages <= 0)
            {
                MaxPages = 5;
            }

            var    currProvider = ViewContext.TagHelperProvider();
            string operation    = null;

            if (AjaxId == null && Query?.Model != null)
            {
                QueryDescription q = Query?.Model as QueryDescription;
                if (!string.IsNullOrWhiteSpace(q.AttachedTo?.AjaxId))
                {
                    AjaxId = q.AttachedTo.AjaxId;
                }
            }
            if (AjaxId != null)
            {
                operation = "data-operation='ajax-html " + AjaxId + "'";
            }
            else if (AjaxEndpoint != null)
            {
                operation = "data-operation='ajax-json " + AjaxEndpoint + "'";
            }
            var defaultTemplates = currProvider.GetDefaultTemplates(TagName);
            var options          = new Internals.PagerOptions(defaultTemplates.GetLayoutTemplate(LayoutTemplate), operation);
            await currProvider.GetTagProcessor(TagName)(context, output, this, options, ctx);
        }
        public override async Task ProcessAsync(TagHelperContext context, TagHelperOutput output)
        {

            if (string.IsNullOrWhiteSpace(SkipUrlToken)) new ArgumentNullException("skip-url-token");
            if (string.IsNullOrWhiteSpace(TakeUrlToken)) new ArgumentNullException("take-url-token");
            if (string.IsNullOrWhiteSpace(UrlDefault) && Url == null) new ArgumentNullException("url-default/url");

            var ctx = new ContextualizedHelpers(ViewContext, html, httpAccessor, component, urlHelperFactory, factory);

            if (PageSizeDefault <= 0) PageSizeDefault = 10;
            if (MaxPages <= 0) MaxPages = 5;

            var currProvider = ViewContext.TagHelperProvider();
            string operation = null;
            if(AjaxId!= null )
                operation = "data-operation='ajax-html "+ AjaxId + "'";
            else if(AjaxEndpoint != null)
                operation = "data-operation='ajax-json " + AjaxEndpoint + "'";
            var defaultTemplates = currProvider.GetDefaultTemplates(TagName);
            var options = new Internals.PagerOptions(defaultTemplates.GetLayoutTemplate(LayoutTemplate), operation);
            await currProvider.GetTagProcessor(TagName)(context, output, this,  options , ctx);
        }