Example #1
0
        internal PagerBuilder(HtmlHelper html, AjaxHelper ajax, string actionName, string controllerName,
                              int totalPageCount, int pageIndex, PagerOptions pagerOptions, string routeName, RouteValueDictionary routeValues,
                              AjaxOptions ajaxOptions, IDictionary <string, object> htmlAttributes)
        {
            _msAjaxPaging = (ajax != null);
            if (String.IsNullOrEmpty(actionName))
            {
                if (ajax != null)
                {
                    actionName = (string)ajax.ViewContext.RouteData.Values["action"];
                }
                else
                {
                    actionName = (string)html.ViewContext.RouteData.Values["action"];
                }
            }
            if (String.IsNullOrEmpty(controllerName))
            {
                if (ajax != null)
                {
                    controllerName = (string)ajax.ViewContext.RouteData.Values["controller"];
                }
                else
                {
                    controllerName = (string)html.ViewContext.RouteData.Values["controller"];
                }
            }
            #region 多语言分页支持-vebin.h-2011.11.15
            if (ajax != null)
            {
                if (ajax.ViewContext.RouteData.Values["sitelang"] != null)
                {
                    _siteLang = (string)ajax.ViewContext.RouteData.Values["sitelang"];
                }
            }
            else
            {
                if (html.ViewContext.RouteData.Values["sitelang"] != null)
                {
                    _siteLang = (string)html.ViewContext.RouteData.Values["sitelang"];
                }
            }
            #endregion
            if (pagerOptions == null)
            {
                pagerOptions = new PagerOptions();
            }

            _html           = html;
            _ajax           = ajax;
            _actionName     = actionName;
            _controllerName = controllerName;
            if (ajax != null)
            {
                _pageName = (string)ajax.ViewContext.RouteData.Values["sitepage"];
            }
            else
            {
                _pageName = (string)html.ViewContext.RouteData.Values["sitepage"];
            }
            _totalPageCount = totalPageCount;
            _pageIndex      = pageIndex;
            _pagerOptions   = pagerOptions;
            _routeName      = routeName;
            _routeValues    = routeValues;
            _ajaxOptions    = ajaxOptions;
            _htmlAttributes = htmlAttributes;

            // start page index
            _startPageIndex = pageIndex - (pagerOptions.NumericPagerItemCount / 2);
            if (_startPageIndex + pagerOptions.NumericPagerItemCount > _totalPageCount)
            {
                _startPageIndex = _totalPageCount + 1 - pagerOptions.NumericPagerItemCount;
            }
            if (_startPageIndex < 1)
            {
                _startPageIndex = 1;
            }

            // end page index
            _endPageIndex = _startPageIndex + _pagerOptions.NumericPagerItemCount - 1;
            if (_endPageIndex > _totalPageCount)
            {
                _endPageIndex = _totalPageCount;
            }
        }
Example #2
0
 //jQuery Ajax pager builder
 internal PagerBuilder(HtmlHelper helper, string actionName, string controllerName, int totalPageCount,
                       int pageIndex, PagerOptions pagerOptions, string routeName, RouteValueDictionary routeValues,
                       AjaxOptions ajaxOptions, IDictionary <string, object> htmlAttributes) : this(helper, null, actionName,
                                                                                                    controllerName, totalPageCount, pageIndex, pagerOptions, routeName, routeValues, ajaxOptions, htmlAttributes)
 {
 }