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