网站首页 网站源码
website
站点相关全部源代码,隐藏了一些关于服务器的信息
using Microsoft.AspNetCore.Mvc.Rendering;
using Microsoft.AspNetCore.Mvc.ViewFeatures;
using Microsoft.AspNetCore.Razor.TagHelpers;
using Microsoft.AspNetCore.Routing;
using System.Collections.Generic;
using System.Linq;

namespace Dpz.Core.Web.Pager
{
    public partial class MvcCorePagerTagHelper
    {
        /// <summary>
        /// 第一页使用的路由名称(路由定义中应不包含页索引参数,或页索引参数默认值为UrlParameter.Optional)
        /// </summary>
        public string FirstPageRouteName
        {
            get => Options.FirstPageRoute;
            set => Options.FirstPageRoute = value;
        }
        /// <summary>
        /// 指定总页数只有一页时,MvcCorePager是否自动隐藏
        /// </summary>
        public bool AutoHide
        {
            get => Options.AutoHide;
            set => Options.AutoHide = value;
        }
        /// <summary>
        /// 页索引超出范围时显示的错误消息
        /// </summary>
        public string PageIndexOutOfRangeErrorMessage
        {
            get => Options.PageIndexOutOfRangeErrorMessage;
            set => Options.PageIndexOutOfRangeErrorMessage = value;
        }
        /// <summary>
        /// 页索引无效(不是有效的数值,如字符串或其它字符)时显示的错误消息
        /// </summary>
        public string InvalidPageIndexErrorMessage
        {
            get => Options.InvalidPageIndexErrorMessage;
            set => Options.InvalidPageIndexErrorMessage = value;
        }
        /// <summary>
        /// 路由Url中页索引参数的名称
        /// </summary>
        public string PageIndexParameterName
        {
            get => Options.PageIndexParameterName;
            set => Options.PageIndexParameterName = value;
        }
        /// <summary>
        /// 数字页索引格式化字符串
        /// </summary>
        public string PageNumberFormatString
        {
            get => Options.PageNumberFormatString;
            set => Options.PageNumberFormatString = value;
        }
        /// <summary>
        /// 当前页索引格式字符串
        /// </summary>
        public string CurrentPageNumberFormatString
        {
            get => Options.CurrentPageNumberFormatString;
            set => Options.CurrentPageNumberFormatString = value;
        }
        /// <summary>
        /// 分页控件html容器标签名,默认为div
        /// </summary>
        public string TagName
        {
            get => Options.TagName;
            set => Options.TagName = value;
        }
        /// <summary>
        /// 包含数字页、当前页及上、下、前、后分页元素的html模板
        /// </summary>
        public string PagerItemTemplate
        {
            get => Options.PagerItemTemplate;
            set => Options.PagerItemTemplate = value;
        }
        /// <summary>
        /// 数字页索引分页元素的html模板
        /// </summary>
        public string NumericPagerItemTemplate
        {
            get => Options.NumericPagerItemTemplate;
            set => Options.NumericPagerItemTemplate = value;
        }


        /// <summary>
        /// 当前页分页元素的html模板
        /// </summary>
        public string CurrentPagerItemTemplate
        {
            get => Options.CurrentPagerItemTemplate;
            set => Options.CurrentPagerItemTemplate = value;
        }


        /// <summary>
        /// 上页、下页、首页和尾首四个分页元素的html模板
        /// </summary>
        public string NavigationPagerItemTemplate
        {
            get => Options.NavigationPagerItemTemplate;
            set => Options.NavigationPagerItemTemplate = value;
        }


        /// <summary>
        /// 更多页分页元素的html模板
        /// </summary>
        public string MorePagerItemTemplate
        {
            get => Options.MorePagerItemTemplate;
            set => Options.MorePagerItemTemplate = value;
        }


        /// <summary>
        /// 已禁用的分页元素的html模板
        /// </summary>
        public string DisabledPagerItemTemplate
        {
            get => Options.DisabledPagerItemTemplate;
            set => Options.DisabledPagerItemTemplate = value;
        }

        /// <summary>
        /// 是否总是显示第一页和最后一页两个数字页索引按钮
        /// </summary>
        public bool AlwaysShowFirstLastPageNumber
        {
            get => Options.AlwaysShowFirstLastPageNumber;
            set => Options.AlwaysShowFirstLastPageNumber = value;
        }

        /// <summary>
        /// 数字页索引分页按钮数目
        /// </summary>
        public int NumericPagerItemCount
        {
            get => Options.NumericPagerItemCount;
            set => Options.NumericPagerItemCount = value;
        }


        /// <summary>
        /// 是否显示上一页和下一页分页导航按钮
        /// </summary>
        public bool ShowPrevNext
        {
            get => Options.ShowPrevNext;
            set => Options.ShowPrevNext = value;
        }


        /// <summary>
        /// 上一页按钮上显示的文本
        /// </summary>
        public string PrevPageText
        {
            get => Options.PrevPageText;
            set => Options.PrevPageText = value;
        }


        /// <summary>
        /// 下一页按钮上显示的文本
        /// </summary>
        public string NextPageText
        {
            get => Options.NextPageText;
            set => Options.NextPageText = value;
        }


        /// <summary>
        /// 是否显示数字页索引按钮及更多页按钮
        /// </summary>
        public bool ShowNumericPagerItems
        {
            get => Options.ShowNumericPagerItems;
            set => Options.ShowNumericPagerItems = value;
        }

        /// <summary>
        /// 是否显示第一页和最后一页分页导航按钮
        /// </summary>
        public bool ShowFirstLast
        {
            get => Options.ShowFirstLast;
            set => Options.ShowFirstLast = value;
        }


        /// <summary>
        /// 第一页按钮上显示的文本
        /// </summary>
        public string FirstPageText
        {
            get => Options.FirstPageText;
            set => Options.FirstPageText = value;
        }


        /// <summary>
        /// 最后一页按钮上显示的文本
        /// </summary>
        public string LastPageText
        {
            get => Options.LastPageText;
            set => Options.LastPageText = value;
        }


        /// <summary>
        /// 是否显示更多页按钮
        /// </summary>
        public bool ShowMorePagerItems
        {
            get => Options.ShowMorePagerItems;
            set => Options.ShowMorePagerItems = value;
        }


        /// <summary>
        /// 更多页按钮上显示的文本
        /// </summary>
        public string MorePageText
        {
            get => Options.MorePageText;
            set => Options.MorePageText = value;
        }


        /// <summary>
        /// 分页控件的父容器标签的ID
        /// </summary>
        public string Id
        {
            get => Options.Id;
            set => Options.Id = value;
        }


        /// <summary>
        /// 应用于分页控件的CSS样式类
        /// </summary>
        [HtmlAttributeName("class")]
        public string CssClass
        {
            get => Options.CssClass;
            set => Options.CssClass = value;
        }

        /// <summary>
        /// 是否显示已禁用的分页按钮
        /// </summary>
        public bool ShowDisabledPagerItems
        {
            get => Options.ShowDisabledPagerItems;
            set => Options.ShowDisabledPagerItems = value;
        }


        /// <summary>
        /// 限制显示的最大页数,默认值为0,即根据总记录数算出的总页数
        /// </summary>
        public int MaximumPageNumber
        {
            get => Options.MaximumPageNumber;
            set => Options.MaximumPageNumber = value;
        }

        /// <summary>
        /// 页索引输入或选择框的客户端ID
        /// </summary>
        public string PageIndexBoxId
        {
            get => Options.PageIndexBoxId;
            set => Options.PageIndexBoxId = value;
        }

        /// <summary>
        /// 页索引输入或下拉框跳转按钮的客户端ID,若不设置此属性,则在改变页索引输入或下拉框的值后立即自动跳转
        /// </summary>
        public string GoToButtonId
        {
            get => Options.GoToButtonId;
            set => Options.GoToButtonId = value;
        }

        /// <summary>
        /// 页索引下拉框中显示的最大页索引条数,该属性仅当页索引框为下拉框时有效,为文本输入框时被忽略
        /// </summary>
        public int MaximumPageIndexItems
        {
            get => Options.MaximumPageIndexItems;
            set => Options.MaximumPageIndexItems = value;
        }

        /// <summary>
        /// 首页、下页、下页和尾页四个导航按钮的位置
        /// </summary>
        public PagerItemsPosition NavigationPagerItemsPosition
        {
            get => Options.NavigationPagerItemsPosition;
            set => Options.NavigationPagerItemsPosition = value;
        }

        /// <summary>
        /// 页索引出错时要调用的Javascript函数
        /// </summary>
        public string OnPageIndexError
        {
            get => Options.OnPageIndexError;
            set => Options.OnPageIndexError = value;
        }


        /// <summary>
        /// 获取或设置分页元素(a标签)的css样式类名。
        /// </summary>
        public string PagerItemCssClass
        {
            get => Options.PagerItemCssClass;
            set => Options.PagerItemCssClass = value;
        }

        [HtmlAttributeNotBound]
        [ViewContext]
        public ViewContext ViewContext { get; set; }

        /// <summary>
        /// 用于生成分页链接的控制器的Action名称
        /// </summary>
        [HtmlAttributeName(ActionAttributeName)]
        public string Action
        {
            get => Options.Action;
            set => Options.Action = value;
        }

        /// <summary>
        /// 用于生成分页链接的控制器名称
        /// </summary>
        [HtmlAttributeName(ControllerAttributeName)]
        public string Controller
        {
            get => Options.Controller;
            set => Options.Controller = value;
        }

        /// <summary>
        /// 用于生成分页链接的区域(Area)名称
        /// </summary>
        [HtmlAttributeName(AreaAttributeName)]
        public string Area
        {
            get => Options.Area;
            set => Options.Area = value;
        }

        /// <summary>
        /// 用于生成分页链接的路由名称
        /// </summary>
        [HtmlAttributeName(RouteAttributeName)]
        public string Route
        {
            get => Options.Route;
            set => Options.Route = value;
        }



        /// <summary>
        /// 用于生成分页链接的路由的值
        /// </summary>
        [HtmlAttributeName(RouteValuesDictionaryName, DictionaryAttributePrefix = RouteValuesPrefix)]
        public IDictionary<string, string> RouteValues
        {
            get
            {
                return Options.RouteValues.ToDictionary(r => r.Key, r => r.Value?.ToString());
            }
            set => Options.RouteValues = new RouteValueDictionary(value);
        }

        [HtmlAttributeName("asp-model")]
        public IPagedList Model { get; set; }

        #region Ajax settings

        [HtmlAttributeName("ajax-enabled")]
        public bool AjaxEnabled { get; set; }

        [HtmlAttributeName("ajax-update-target")]
        public string AjaxUpdateTarget
        {
            get => AjaxOptions.UpdateTargetId;
            set => AjaxOptions.UpdateTargetId = value;
        }

        [HtmlAttributeName("ajax-method")]
        public string AjaxMethod
        {
            get => AjaxOptions.HttpMethod;
            set => AjaxOptions.HttpMethod = value;
        }

        /// <summary>
        /// 获取或设置一个值,该值指示是否在Ajax分页模式下启用局部加载功能。
        /// </summary>
        [HtmlAttributeName("ajax-partial-loading")]
        public bool AjaxPartialLoading
        {
            get => AjaxOptions.EnablePartialLoading;
            set => AjaxOptions.EnablePartialLoading = value;
        }

        /// <summary>
        /// 获取或设置在Ajax分页模式下,分页时向服务器端通过Ajax提交的数据所在的Form ID,用于实现Ajax分页模式下的查询功能。
        /// </summary>
        [HtmlAttributeName("ajax-search-form")]
        public string AjaxDataFormId
        {
            get => AjaxOptions.DataFormId;
            set => AjaxOptions.DataFormId = value;
        }


        [HtmlAttributeName("ajax-allow-cache")]
        public bool AjaxAllowCache
        {
            get => AjaxOptions.AllowCache;
            set => AjaxOptions.AllowCache = value;
        }

        /// <summary>
        /// 获取或设置一个值,该值指示是否在Ajax分页模式下是否启用浏览器历史记录支持功能。
        /// </summary>
        [HtmlAttributeName("ajax-history-support")]
        public bool AjaxHistorySupport
        {
            get => AjaxOptions.EnableHistorySupport;
            set => AjaxOptions.EnableHistorySupport = value;
        }


        private PagerOptions _options;
        private MvcAjaxOptions _ajaxOptions;
        public PagerOptions Options
        {
            get
            {
                if (_options == null) { _options = new PagerOptions(); }
                return _options;
            }
            set { if (value != null) { _options = value; } }
        }

        public MvcAjaxOptions AjaxOptions
        {
            get => _ajaxOptions ?? (_ajaxOptions = new MvcAjaxOptions());
            set { if (value != null) { _ajaxOptions = value; } }
        }
        #endregion
    }
}
loading