Exemplo n.º 1
0
        /// <summary>
        /// 绑定新闻列表。
        /// </summary>
        private void BindRepeater()
        {
            // 获取 PageIndex
            int pageIndex;
            string requestPageIndex = Request.QueryString["PageIndex"];
            if (int.TryParse(requestPageIndex, out pageIndex) == false)
                pageIndex = 1;

            string keywords = (Request.QueryString["Keywords"] == null) ? string.Empty : Request.QueryString["Keywords"].Trim();

            // 获取新闻
            Wis.Website.DataManager.ArticleManager articleManager = new Wis.Website.DataManager.ArticleManager();
            List<Wis.Website.DataManager.Article> articles = Wis.Website.DataManager.ArticleManager.GetArticlesByKeywords(keywords, categoryGuid, pageIndex, this.PageSize);

            MiniPager1.RecordCount = articleManager.CountArticlesByKeywords(keywords, categoryGuid);
            MiniPager1.PageIndex = pageIndex;
            MiniPager1.PageSize = this.PageSize;
            string pattern = @"PageIndex=\d+$";
            if (Regex.IsMatch(Request.RawUrl, pattern))
            {
                MiniPager1.UrlPattern = Regex.Replace(Request.RawUrl, pattern, "PageIndex={0}");
            }
            else
            {
                if (Request.RawUrl.IndexOf("?") == -1)
                    MiniPager1.UrlPattern = Request.RawUrl + "?PageIndex={0}";
                else
                    MiniPager1.UrlPattern = Request.RawUrl + "&PageIndex={0}";
            }

            RepeaterArticleList.DataSource = articles;
            RepeaterArticleList.DataBind();
        }