Esempio n. 1
0
        public void ProcessRequest(HttpContext context)
        {
            int           TotalRecord; int TotalPage;
            JObject       o;
            var           ls      = GetDbData(context.Request, out TotalRecord, out TotalPage);
            var           carlist = new CarTypeInfoDb().GetCarinfoList("0");
            StringBuilder sb      = new StringBuilder();
            JArray        ar      = new JArray();

            foreach (var v in ls)
            {
                o = new JObject();
                var car = carlist.FirstOrDefault(x => x.CarTypeKey == v.CarType);
                o["ProTitle"]     = v.ProTitle;   //data.act.ToString();
                o["SellerName"]   = v.SellerName; //data.act.ToString();
                o["Id"]           = v.Id;
                o["Carname"]      = car == null?"":car.DisplayName;
                o["ShangPaiTime"] = v.ShangPaiTime;
                o["CarColor"]     = v.CarColor;
                o["baojia"]       = v.baojia;
                o["BianShuQi"]    = v.BianShuQi;
                o["CreateTime"]   = v.CreateTime.ToShortDateString();
                o["ProNum"]       = v.ProNum;
                o["SellerNumber"] = v.SellerNumber;
                var str = v.Images.Split(';');
                o["pic1"] = str.Length > 0?str[0]:"";
                o["pic2"] = str.Length > 1 ? str[1] : "";
                o["pic3"] = str.Length > 2 ? str[2] : "";
                o["r"]    = TotalRecord.ToString();
                o["p"]    = TotalPage.ToString();
                ar.Add(o);
            }
            context.Response.ContentType = "text/plain";
            context.Response.Write(ar.ToString());
        }
Esempio n. 2
0
        public StringBuilder GeneralPaging(string classCurrent, string classClick)
        {
            ConfigPage();

            var stringHtml = new StringBuilder();

            if (TotalPage > 1)
            {
                var txtFirstPage = FirstPage == 0 ? "" : "...";
                var txtLastPage  = LastPage == TotalPage ? "" : ".../" + TotalPage.ToString();

                stringHtml.AppendLine(string.Format("<div class=\"container text-center allPage\">"));
                stringHtml.AppendLine(string.Format("<div class=\"row\">"));
                stringHtml.AppendLine(string.Format("<ul class=\"pagination\">"));
                stringHtml.AppendLine(string.Format("<li><a class=\"{0}\" href=\"#\" data-value=\"0\"> {1} &laquo;&laquo;</a></li>", classClick, txtFirstPage));
                stringHtml.AppendLine(string.Format("<li><a class=\"{0}\" href=\"#\" data-value=\"{1}\" style=\"{2}\"> &laquo;</a></li>", classClick, (CurrentPage - 1).ToString(), (String.IsNullOrEmpty(txtFirstPage) ? "display:none" : "display:block")));

                for (var i = FirstPage; i < LastPage; i++)
                {
                    stringHtml.AppendLine(string.Format("<li><a href=\"#\" class=\"{0}\" data-value=\"{1}\">{2}</a></li>", CurrentPage == i ? classCurrent : classClick, i.ToString(), (i + 1).ToString()));
                }

                stringHtml.AppendLine(string.Format("<li><a class=\"{0}\" href=\"#\" data-value=\"{1}\" style=\"{2}\">&raquo;</a></li>", classClick, (CurrentPage + 1).ToString(), (String.IsNullOrEmpty(txtLastPage) ? "display:none" : "display:block")));
                stringHtml.AppendLine(string.Format("<li><a class=\"{0}\" data-value=\"{1}\" href=\"#\">&raquo;&raquo; {2}</a></li>", classClick, (TotalPage - 1).ToString(), txtLastPage));
                stringHtml.AppendLine(string.Format("</ul>"));
                stringHtml.AppendLine(string.Format("</div>"));
                stringHtml.AppendLine(string.Format("</div>"));
            }

            return(stringHtml);
        }
Esempio n. 3
0
 private void CreateNavigationButton(string type)
 {
     if (type == "FirstPrev")
     {
         if (TotalPage > 1 && CurPage > 1)
         {
             str.Append("<a href=\"" + BuildUrlString("p", "1") + "\">首页</a> <a href=\"" + BuildUrlString("p", (CurPage - 1).ToString()) + "\">上页</a>");
         }
         //else
         //{
         //    str.Append("<a class=\"first\" disabled=\"disabled\">首页</a><a class=\"pre\" disabled=\"disabled\">上页</a>");
         //}
     }
     else
     {
         if (TotalPage > 1 && CurPage < TotalPage)
         {
             str.Append(" <a href=\"" + BuildUrlString("p", (CurPage + 1).ToString()) + "\">下页</a> <a href=\"" + BuildUrlString("p", TotalPage.ToString()) + "\">尾页</a>");
         }
         //else
         //{
         //    str.Append("<a class=\"next\" disabled=\"disabled\">下页</a><a class=\"last\" disabled=\"disabled\">尾页</a>");
         //}
     }
 }
Esempio n. 4
0
 private void CreateShowGo()
 {
     str.Append("<span style=\"padding:0px 10px;\">共" + TotalPage.ToString() + "页</span><span>到 <input type=\"text\" onkeydown=\"if(event.keyCode==13){event.keyCode=9;goToPage('goNum');return false;}\"  size=\"10\" id=\"goNum\" class=\"imos_page_text\" /> 页</span> <a href=\"javascript:;\" onclick=\"goToPage('goNum')\">确定</a>");
 }
Esempio n. 5
0
        public string setPage(string sParam, int Language)
        {
            string str = "";
            int    MidPage;
            string sURL = HttpContext.Current.Request.Url.AbsolutePath + sParam;

            string[] text = { "Xem tiếp", "Next Page", "" };
            string[] f    = { "Trang đầu", "First", "<img src='WebMedia/Images/resultset_first.png' alt='Trang đầu' width='10' height='10' />" };
            string[] l    = { "Trang cuối", "Last", "<img src='WebMedia/Images/resultset_last.png' alt='Trang cuối' width='10' height='10' />" };

            if (Language > text.Length - 1)
            {
                Language = 0;
            }

            int TotalPage;

            if ((TotalRecord % RecordPerPage) > 0)
            {
                TotalPage = (TotalRecord / RecordPerPage) + 1;
            }
            else
            {
                TotalPage = TotalRecord / RecordPerPage;
            }
            MidPage = (PageCount / 2);
            int i = 0;

            str = "<span style='font-weight:bold;padding:5px 2px 5px 2px;'>" + text[Language] + "</span>";

            if (Pages < MidPage + 1)
            {
                if (TotalPage > PageCount)
                {
                    for (i = 1; i <= PageCount; i++)
                    {
                        if (Pages == i)
                        {
                            str = str + "<span class='currentpage'>" + Pages.ToString() + "</span>";
                        }
                        else
                        {
                            str = str + "<a class='paging' href='" + sURL + "&pages=" + i.ToString() + "'>" + i.ToString() + "</a>";
                        }
                    }
                    str = str + "<span class='dotpage'>...</span><a class='paging' href='" + sURL + "&pages=" + TotalPage.ToString() + "'>" + l[Language] + "</a>";
                }
                else
                {
                    for (i = 1; i <= TotalPage; i++)
                    {
                        if (Pages == i)
                        {
                            str = str + "<span class='currentpage'>" + Pages.ToString() + "</span>";
                        }
                        else
                        {
                            str = str + "<a class='paging' href='" + sURL + "&pages=" + i.ToString() + "'>" + i.ToString() + "</a>";
                        }
                    }
                }
            }
            else if (Pages > TotalPage - (MidPage + 1))
            {
                if (TotalPage > PageCount)
                {
                    str = str + "<a class='paging' href='" + sURL + "&pages=1'>" + f[Language] + "</a><span class='dotpage'>...</span>";
                    for (i = TotalPage - (PageCount - 1); i <= TotalPage; i++)
                    {
                        if (Pages == i)
                        {
                            str = str + "<span class='currentpage'>" + Pages.ToString() + "</span>";
                        }
                        else
                        {
                            str = str + "<a class='paging' href='" + sURL + "&pages=" + i.ToString() + "'>" + i.ToString() + "</a>";
                        }
                    }
                }
                else
                {
                    for (i = 1; i <= TotalPage; i++)
                    {
                        if (Pages == i)
                        {
                            str = str + "<span class='currentpage'>" + Pages.ToString() + "</span>";
                        }
                        else
                        {
                            str = str + "<a class='paging' href='" + sURL + "&pages=" + i.ToString() + "'>" + i.ToString() + "</a>";
                        }
                    }
                }
            }
            else
            {
                str = str + "<a class='paging' href='" + sURL + "&pages=1'>" + f[Language] + "</a><span class='dotpage'>...</span>";
                for (i = Pages - (MidPage - 1); i <= Pages + MidPage; i++)
                {
                    if (Pages == i)
                    {
                        str = str + "<span class='currentpage'>" + Pages.ToString() + "</span>";
                    }
                    else
                    {
                        str = str + "<a class='paging' href='" + sURL + "&pages=" + i.ToString() + "'>" + i.ToString() + "</a>";
                    }
                }
                str = str + "<span class='dotpage'>...</span><a class='paging' href='" + sURL + "&pages=" + TotalPage.ToString() + "'>" + l[Language] + "</a>";
            }
            return(str);
        }
Esempio n. 6
0
        public override string Render()
        {
            if (TotalPage <= 1)
            {
                return(string.Empty);
            }

            //<div class='row'>
            //    <div class='col-md-5 col-sm-12'>
            //        <div class='dataTables_info' id='sample_1_info' role='status' aria-live='polite'>Showing 21 to 25 of 25 entries</div>
            //    </div>
            //    <div class='col-md-7 col-sm-12'>
            //        <div class='dataTables_paginate paging_bootstrap_full_number' id='sample_1_paginate'>
            //            <ul class='pagination' style='visibility: visible;'>
            //                <li class='prev'><a href='#' title='First'><i class='fa fa-angle-double-left'></i></a></li>
            //                <li class='prev'><a href='#' title='Prev'><i class='fa fa-angle-left'></i></a></li>
            //                <li><a href='#'>1</a></li>
            //                <li><a href='#'>2</a></li>
            //                <li><a href='#'>3</a></li>
            //                <li><a href='#'>4</a></li>
            //                <li class='active'><a href='#'>5</a></li>
            //                <li class='next disabled'><a href='#' title='Next'><i class='fa fa-angle-right'></i></a></li>
            //                <li class='next disabled'><a href='#' title='Last'><i class='fa fa-angle-double-right'></i></a></li>
            //            </ul>
            //        </div>
            //    </div>
            //</div>

            Sb.Clear();

            Sb.Append(@"
<div class='row'>
    <div class='col-md-7 col-sm-12'>
        <div class='paging_bootstrap_full_number'>
            <ul class='pagination' style='visibility: visible;'>
");

            if (TotalPage <= SelectablePages)
            {
                // iterate through the available pages
                for (var i = 1; i <= TotalPage; i++)
                {
                    Sb.AppendFormat(
                        "<li {1}><a href='{0}' title='前往第 {2} 頁'>{3}</a></li>",
                        BuildUri(i - 1),
                        (CurrentPage.Equals(i - 1) ? " class='active'" : ""),
                        i,
                        i.ToString(Section.Get.Common.Culture).PadLeft(
                            TotalPage.ToString(Section.Get.Common.Culture).Length, '0'));
                }
            }
            else
            {
                // compute the number of pages to display to the left of the currently selected page
                // so that the current page is always centered
                // (when at the first and the last pages this will not be possible and we'll make some adjustments on the fly)
                var adjacent = Convert.ToInt32(Math.Floor((Convert.ToDouble(SelectablePages) - 3) / 2));

                // this number must be at least "1"
                adjacent = (adjacent < 0 ? 1 : adjacent);

                // compute the page after which to show "..." after the link to the first page
                var scrollFrom = SelectablePages - adjacent - 1;
                // writer.Write("scrollFrom=" + scrollFrom + "<br />");
                // this is the number from where we should start rendering selectable pages
                // it's "2" because we have already rendered the first page
                long startingPage = 1;
                // if we need to show "..." after the link to the first page
                if (CurrentPage >= scrollFrom)
                {
                    // by default, the starting_page should be whatever the current page minus $adjacent
                    startingPage = CurrentPage - adjacent;

                    // but if that would cause us to display less navigation links than specified in $this->selectable_pages
                    if (TotalPage - startingPage < (SelectablePages - 2))
                    {
                        // adjust it
                        startingPage -= (SelectablePages - 2) - (TotalPage - startingPage);
                    }
                }
                // this is the number where we should stop rendering selectable pages
                // by default, this value is the sum of the starting page plus whatever the number of $this->selectable_pages
                // minus 3 (first page, last page and current page)
                var endingPage = startingPage + SelectablePages;

                // if ending page would be greater than the total number of pages minus 1
                // (minus one because we don't take into account the very last page which we output automatically)
                // adjust the ending page
                if (endingPage + 1 > TotalPage)
                {
                    endingPage = TotalPage;
                }

                if (CurrentPage >= scrollFrom)
                {
                    Sb.AppendFormat(
                        "<li {1}><a href='{0}' title='前往第 1 頁'>{2}</a></li>",
                        BuildUri(0),
                        (CurrentPage.Equals(0) ? " class='disable'" : ""),
                        ("1".PadLeft(endingPage.ToString(Section.Get.Common.Culture).Length, '0'))
                        );
                    if (TotalPage > SelectablePages)
                    {
                        Sb.AppendFormat(
                            "<li class='prev'><a href='{1}' title='上十頁'><i class='fa fa-angle-double-left'></i></a></li>" +
                            "<li class='prev'><a href='{0}' title='上一頁'><i class='fa fa-angle-left'></i></a></li>",
                            (CurrentPage == 0 ? "javascript:void(0);" : BuildUri(CurrentPage - 1)),
                            (CurrentPage - 10 < 0 ? "javascript:void(0);" : BuildUri(CurrentPage - 10)));
                    }
                    // put the "..." after the link to the first page
                    //Sb.Append("  ....  ");
                    Sb.Append("<li><a>....</a></li>");
                }
                // place links for each page
                for (var i = startingPage; i < endingPage; i++)
                {
                    Sb.AppendFormat(
                        "<li {1}><a href='{0}' title='前往第 {2} 頁'>{3}</a></li>",
                        BuildUri(i - 1),
                        (CurrentPage.Equals(i - 1) ? " class='active'" : ""),
                        i,
                        (i.ToString(Section.Get.Common.Culture).PadLeft(
                             endingPage.ToString(Section.Get.Common.Culture).Length, '0')));
                }
                if (endingPage - (CurrentPage + 1) >= scrollFrom)
                {
                    Sb.Append("<li><a>....</a></li>");
                    Sb.AppendFormat(
                        "<li class='next'><a href='{0}' title='下一頁'><i class='fa fa-angle-right'></i></a></li>" +
                        "<li class='next'><a href='{1}' title='下十頁'><i class='fa fa-angle-double-right'></i></a></li>",
                        (CurrentPage.Equals(TotalPage - 1) ? "javascript:void(0)" : BuildUri(CurrentPage + 1)),
                        (TotalPage - (CurrentPage + 1) > 10) ? BuildUri(CurrentPage + 10) : "javascript:void(0)");
                }
                Sb.AppendFormat(
                    "<li {1}><a href='{0}' title='前往最後一頁'>{2}</a></li>",
                    BuildUri(TotalPage),
                    (CurrentPage.Equals(TotalPage - 1) ? " class='disable'" : ""),
                    TotalPage);
            }

            Sb.Append("</ul>");
            Sb.Append("</div>");
            Sb.Append("</div>");

            Sb.Append("<div class='col-md-5 col-sm-12'>");

            var endRecord = CurrentPage * RecordsPerPage + RecordsPerPage;

            if (endRecord > TotalRecord)
            {
                endRecord = TotalRecord;
            }

            Sb.AppendFormat(
                "<div class='dataTables_paginate dataTables_info' role='status' aria-live='polite'>Showing {0} to {1} of {2} entries ({3} Pages)</div>",
                (CurrentPage * RecordsPerPage + 1).ToString("#,##;(#,##)"),
                endRecord.ToString("#,##;(#,##)"),
                TotalRecord.ToString("#,##;(#,##)"),
                TotalPage.ToString("#,##;(#,##)"));

            Sb.Append("</div>");
            Sb.Append("</div>");

            return(ReplaceCrossSiteScript(Sb.ToString()));
        }
        public override void Process(
            TagHelperContext context, TagHelperOutput output)
        {
            output.TagName = "ul";
            output.Attributes.Add("class", "pagination pagination-sm");

            if (PageIndex == 0)
            {
                PageIndex = 1;
            }

            int i = 0;

            string strPage = "";

            PageEtc = string.IsNullOrEmpty(PageEtc) ? "" : "&" + PageEtc;



            #region 처음 페이지로 이동
            if (PageIndex > 1)
            {
                if (!SearchMode)
                {
                    strPage += "<li><a href =\""
                               + Url + "?Page=1" + PageEtc + "\">&laquo;</a></li>";
                }
                else
                {
                    strPage += "<li><a href=\""
                               + Url + "?Page=1" + PageEtc
                               + "&SearchField=" + SearchField
                               + "&SearchQuery=" + SearchQuery + "\">&laquo;</a></li>";
                }
            }
            else
            {
                strPage += "<li class='disabled'><a>&laquo;</a></li>";
            }
            #endregion

            #region 이전화살표
            if (PageIndex > PageCounter)
            {
                if (!SearchMode)
                {
                    strPage += "<li><a href=\"" + Url + "?Page="
                               + Convert.ToString(((PageIndex - 1) / (int)PageCounter) * PageCounter)
                               + PageEtc + "\">&larr;</a></li>";
                }
                else
                {
                    strPage += "<li><a href=\"" + Url + "?Page="
                               + Convert.ToString(((PageIndex - 1) / (int)PageCounter) * PageCounter) + PageEtc
                               + "&SearchField=" + SearchField
                               + "&SearchQuery=" + SearchQuery + "\">&larr;</a></li>";
                }
            }
            else
            {
                strPage += "<li class='disabled'><a>&larr;</a></li>";
            }
            #endregion


            #region 페이지 번호 및 다음 화살표
            for (i = (((PageIndex - 1) / (int)PageCounter) * PageCounter + 1);
                 i <= ((((PageIndex - 1) / (int)PageCounter) + 1) * PageCounter); i++)
            {
                if (i > TotalPage)
                {
                    break;
                }
                if (i == PageIndex)
                {
                    strPage += " <li class='active'><a>"
                               + i.ToString() + "</a></li>";
                }
                else
                {
                    if (!SearchMode)
                    {
                        strPage += "<li><a href=\"" + Url + "?Page="
                                   + i.ToString() + PageEtc + "\">" + i.ToString() + "</a></li>";
                    }
                    else
                    {
                        strPage += "<li><a href=\"" + Url + "?Page="
                                   + i.ToString() + PageEtc + "&SearchField=" + SearchField
                                   + "&SearchQuery=" + SearchQuery + "\">"
                                   + i.ToString() + "</a></li>";
                    }
                }
            }
            #endregion

            //국헌 생각으로는 i++되어 오므로 -1을 해줘야함
            if ((i - 1) < TotalPage)
            {
                if (!SearchMode)
                {
                    strPage += "<li><a href=\"" + Url + "?Page="
                               + Convert.ToString(((PageIndex - 1) / (int)PageCounter) * PageCounter + (PageCounter + 1))
                               + PageEtc + "\">&rarr;</a></li>";
                }
                else
                {
                    strPage += "<li><a href=\"" + Url + "?Page="
                               + Convert.ToString(((PageIndex - 1) / (int)PageCounter) * PageCounter + (PageCounter + 1))
                               + PageEtc
                               + "&SearchField=" + SearchField
                               + "&SearchQuery=" + SearchQuery + "\">&rarr;</a></li>";
                }
            }
            else
            {
                strPage += "<li class='disabled'><a>&rarr;</a></li>";
            }

            #region 마지막 페이지로 이동
            if (PageIndex < TotalPage)
            {
                if (!SearchMode)
                {
                    strPage += "<li><a href=\"" + Url + "?Page="
                               + TotalPage.ToString()
                               + PageEtc + "\">&raquo;</a></li>";
                }
                else
                {
                    strPage += "<li><a href=\"" + Url + "?Page="
                               + TotalPage.ToString()
                               + PageEtc
                               + "&SearchField=" + SearchField
                               + "&SearchQuery=" + SearchQuery + "\">&raquo;</a></li>";
                }
            }
            else
            {
                strPage += "<li class='disabled'><a>&raquo;</a></li>";
            }
            #endregion

            output.Content.AppendHtml(strPage);
        }
Esempio n. 8
0
        public void BindData()
        {
            /*if (TotalPage <= 1)
             * {
             *  this.Visible = false;
             *  return;
             * }
             * else
             * {
             *  this.Visible = true;
             * }*/
            liFirst.Visible = true;
            liLast.Visible  = true;
            if (CurrentPageIndex > TotalPage)
            {
                CurrentPageIndex = TotalPage;
                PageIndexChanged(null, new PageEventArgs(CurrentPageIndex));
                return;
            }

            if (CurrentPageIndex == 1)
            {
                liPrev.Attributes.Add("class", "paginate_button previous disabled");
                lbPrev.Attributes.Add("OnClick", "javascript:return false;");

                liFirst.Attributes.Add("class", "paginate_button active");
                lbFirst.Attributes.Add("OnClick", "javascript:return false;");
            }
            else
            {
                liPrev.Attributes.Add("class", "paginate_button previous");
                lbPrev.Attributes.Add("OnClick", "javascript:return true;");

                liFirst.Attributes.Add("class", "paginate_button");
                lbFirst.Attributes.Add("OnClick", "javascript:return true;");
            }

            if (CurrentPageIndex == TotalPage)
            {
                liNext.Attributes.Add("class", "paginate_button next disabled");
                lbNext.Attributes.Add("OnClick", "javascript:return false;");

                liLast.Attributes.Add("class", "paginate_button active");
                lbLast.Attributes.Add("OnClick", "javascript:return false;");
            }
            else
            {
                liNext.Attributes.Add("class", "paginate_button previous");
                lbNext.Attributes.Add("OnClick", "javascript:return true;");

                liLast.Attributes.Add("class", "paginate_button");
                lbLast.Attributes.Add("OnClick", "javascript:return true;");
            }

            if (TotalPage <= 1)
            {
                liPrev.Attributes.Add("class", "paginate_button previous disabled");
                lbPrev.Attributes.Add("OnClick", "javascript:return false;");

                liFirst.Attributes.Add("class", "paginate_button active");
                lbFirst.Attributes.Add("OnClick", "javascript:return false;");

                liNext.Attributes.Add("class", "paginate_button next disabled");
                lbNext.Attributes.Add("OnClick", "javascript:return false;");

                liLast.Attributes.Add("class", "paginate_button active");
                lbLast.Attributes.Add("OnClick", "javascript:return false;");
                liLast.Visible = false;
            }

            lbFirst.Text = "1";
            lbLast.Text  = TotalPage.ToString();

            if (TotalPage > 2)
            {
                StartPage = (CurrentPageIndex - TotalRange == 1) ? 2 : CurrentPageIndex - (TotalRange - 1);
                EndPage   = (CurrentPageIndex + TotalRange == TotalPage) ? (TotalPage - 1) : CurrentPageIndex + (TotalRange - 1);

                if (StartPage < 2)
                {
                    StartPage = 2;
                    EndPage   = (StartPage + TotalPageToView) > TotalPage ? TotalPage - 1 : (StartPage + TotalPageToView - 1);
                }

                if (EndPage >= TotalPage)
                {
                    EndPage   = TotalPage - 1;
                    StartPage = (EndPage - TotalPageToView) < 2 ? 2 : (EndPage - TotalPageToView + 1);
                }

                liNextJump.Visible     = (EndPage + 1 == TotalPage) ? false : true;
                liPreviousJump.Visible = (StartPage - 1 == 1) ? false : true;

                ArrayList arr = new ArrayList();
                for (int i = StartPage; i <= EndPage; i++)
                {
                    if (i > TotalPage)
                    {
                        break;
                    }
                    arr.Add(i);
                }

                rptPaging.Visible    = true;
                rptPaging.DataSource = arr;
                rptPaging.DataBind();
            }
            else
            {
                liNextJump.Visible     = false;
                liPreviousJump.Visible = false;
                rptPaging.Visible      = false;
            }
        }
Esempio n. 9
0
        public static string ShowPage(int totalnumber, int MaxPerPage, int CurrentPage, bool ShowTotal, string strUnit)
        {
            StringBuilder strTemp = new StringBuilder();
            string        strRaw  = string.Empty;
            string        strUrl  = string.Empty;

            strRaw = HttpContext.Current.Request.RawUrl;
            string[] strArray = strRaw.Split(new char[] { '/' });
            if (strArray.Length > 0)
            {
                strRaw = strArray[strArray.Length - 1];
            }
            if (strRaw.IndexOf('?') > 0)
            {
                strUrl = strRaw.Substring(0, strRaw.IndexOf('?'));
                string        strParam  = strRaw.Substring(strRaw.IndexOf('?') + 1);
                string[]      strArray1 = strParam.Split(new char[] { '&' });
                StringBuilder sb        = new StringBuilder();
                for (int k = 0; k < strArray1.Length; k++)
                {
                    //int pos = strArray1[k].IndexOf("=");
                    string pa = strArray1[k].Substring(0, strArray1[k].IndexOf("="));
                    if (string.Compare(pa, "p", true) != 0)
                    {
                        sb.Append(strArray1[k] + "&");
                    }
                }
                strUrl = strUrl + "?" + sb.ToString();
            }
            else
            {
                strUrl = strRaw + "?";
            }

            int TotalPage;

            if (totalnumber == 0 || MaxPerPage == 0)
            {
                return("");
            }
            if (totalnumber % MaxPerPage == 0)
            {
                TotalPage = totalnumber / MaxPerPage;
            }
            else
            {
                TotalPage = totalnumber / MaxPerPage + 1;
            }

            if (CurrentPage > TotalPage)
            {
                CurrentPage = TotalPage;
            }
            strTemp.Append("<table width=\"99%\" border=\"0\" cellpadding=\"0\" cellspacing=\"1\" class=\"border\" align=\"center\">");
            strTemp.Append("<tr>	<td valign=\"bottom\" align=\"center\" nowrap=\"nowrap\" style=\"width:40%;\">");

            if (ShowTotal)
            {
                strTemp.Append("共 <b>" + totalnumber.ToString() + "</b> " + strUnit + "&nbsp;&nbsp;");
            }
            strTemp.Append("页次:<strong><font color=red>" + CurrentPage.ToString() + "</font>/" + TotalPage.ToString() + "</strong>页&nbsp; ");
            if (CurrentPage == 1)
            {
                strTemp.Append("首页 上一页&nbsp;");
            }
            else
            {
                strTemp.Append("<a href='" + strUrl + "p=1'>首页</a>&nbsp;");
                strTemp.Append("<a href='" + strUrl + "p=" + (CurrentPage - 1) + "'>上一页</a>&nbsp;");
            }
            if (CurrentPage >= TotalPage)
            {
                strTemp.Append("下一页 尾页");
            }
            else
            {
                strTemp.Append("<a href='" + strUrl + "p=" + (CurrentPage + 1) + "'>下一页</a>&nbsp;");
                strTemp.Append("<a href='" + strUrl + "p=" + TotalPage + "'>尾页</a>");
            }
            strTemp.Append("</td>		</tr>	</table>");
            return(strTemp.ToString());
        }
Esempio n. 10
0
        public static string ShowlistPage(int totalnumber, int MaxPerPage, int CurrentPage, bool ShowTotal, int NodeID)
        {
            StringBuilder strTemp = new StringBuilder();
            string        strUrl  = "";
            StringBuilder sb      = new StringBuilder();

            sb.Append("/ColumnList.aspx?NodeID=" + NodeID.ToString() + "&");
            strUrl = sb.ToString();


            int TotalPage;

            if (totalnumber == 0 || MaxPerPage == 0)
            {
                return("");
            }
            if (totalnumber % MaxPerPage == 0)
            {
                TotalPage = totalnumber / MaxPerPage;
            }
            else
            {
                TotalPage = totalnumber / MaxPerPage + 1;
            }

            if (CurrentPage > TotalPage)
            {
                CurrentPage = TotalPage;
            }
            strTemp.Append("<table width=\"100%\" border=\"0\" cellpadding=\"0\" cellspacing=\"1\" align=\"center\">");
            strTemp.Append("<tr>	<td valign=\"bottom\" align=\"center\" nowrap=\"nowrap\" style=\"width:40%;\">");

            if (ShowTotal)
            {
                strTemp.Append("共 <b>" + totalnumber.ToString() + "</b>项目&nbsp;&nbsp;");
            }
            strTemp.Append("页次:<strong><font color=red>" + CurrentPage.ToString() + "</font>/" + TotalPage.ToString() + "</strong>页&nbsp; ");
            strTemp.Append("每页:<strong><font color=red>" + MaxPerPage.ToString() + "</font>项目&nbsp; ");
            if (CurrentPage == 1)
            {
                strTemp.Append("首页 上一页&nbsp;");
            }
            else
            {
                strTemp.Append("<a href='" + strUrl + "page=1'>首页</a>&nbsp;");
                strTemp.Append("<a href='" + strUrl + "page=" + (CurrentPage - 1) + "'>上一页</a>&nbsp;");
            }
            if (CurrentPage >= TotalPage)
            {
                strTemp.Append("下一页 尾页");
            }
            else
            {
                strTemp.Append("<a href='" + strUrl + "page=" + (CurrentPage + 1) + "'>下一页</a>&nbsp;");
                strTemp.Append("<a href='" + strUrl + "page=" + TotalPage + "'>尾页</a>");
            }
            strTemp.Append("</td>		</tr>	</table>");
            return(strTemp.ToString());
        }
Esempio n. 11
0
        protected override void Render(HtmlTextWriter writer)
        {
            if (DesignMode)
            {
                writer.AddAttribute(HtmlTextWriterAttribute.Id, this.ClientID);
                writer.AddAttribute(HtmlTextWriterAttribute.Name, this.UniqueID);
                writer.AddAttribute(HtmlTextWriterAttribute.Class, Css);
                writer.RenderBeginTag(HtmlTextWriterTag.Div);

                if (TotalVisable)
                {
                    writer.RenderBeginTag(HtmlTextWriterTag.Span);
                    writer.Write(string.Format(TotalText, 0));
                    writer.RenderEndTag();
                    writer.Write("&nbsp;&nbsp;");
                }
                if (PreNextVisable)
                {
                    writer.AddAttribute(HtmlTextWriterAttribute.Href, "#");
                    writer.RenderBeginTag(HtmlTextWriterTag.A);
                    writer.Write(PreText);
                    writer.RenderEndTag();
                    writer.Write("&nbsp;&nbsp;");
                }
                for (int i = 1; i <= 5; i++)
                {
                    writer.AddAttribute(HtmlTextWriterAttribute.Href, "#");
                    writer.RenderBeginTag(HtmlTextWriterTag.A);
                    writer.Write(i.ToString());
                    writer.RenderEndTag();
                    writer.Write("&nbsp;&nbsp;");
                }
                if (PreNextVisable)
                {
                    writer.AddAttribute(HtmlTextWriterAttribute.Href, "#");
                    writer.RenderBeginTag(HtmlTextWriterTag.A);
                    writer.Write(NextText);
                    writer.RenderEndTag();
                    writer.Write("&nbsp;&nbsp;");
                }
                writer.RenderEndTag();
            }
            else
            {
                if (TotalPage > 1)
                {
                    writer.AddAttribute(HtmlTextWriterAttribute.Id, this.ClientID);
                    writer.AddAttribute(HtmlTextWriterAttribute.Name, this.UniqueID);
                    writer.AddAttribute(HtmlTextWriterAttribute.Class, Css);
                    writer.RenderBeginTag(HtmlTextWriterTag.Div);

                    if (TotalVisable)
                    {
                        writer.RenderBeginTag(HtmlTextWriterTag.Span);
                        writer.Write(string.Format(TotalText, ITotalCount));
                        writer.RenderEndTag();
                    }
                    if (PreNextVisable && CurrentPage != 1)
                    {
                        writer.AddAttribute(HtmlTextWriterAttribute.Href, "javascript:" + Page.ClientScript.GetPostBackEventReference(this, CurrentPage - 1 + ""));
                        writer.RenderBeginTag(HtmlTextWriterTag.A);
                        writer.Write(PreText);
                        writer.RenderEndTag();
                    }
                    if (TotalPage <= 10)
                    {
                        for (int i = 1; i <= TotalPage; i++)
                        {
                            if (i == CurrentPage)
                            {
                                //添加当前选择的样式
                                writer.AddAttribute(HtmlTextWriterAttribute.Class, SelectCss);
                            }
                            writer.AddAttribute(HtmlTextWriterAttribute.Href, "javascript:" + Page.ClientScript.GetPostBackEventReference(this, i + ""));
                            writer.RenderBeginTag(HtmlTextWriterTag.A);
                            writer.Write(i.ToString());
                            writer.RenderEndTag();
                        }
                    }
                    else
                    {
                        if (CurrentPage - 5 > 2 && CurrentPage + 7 < TotalPage)//前后都有的
                        {
                            //添加第一页
                            writer.AddAttribute(HtmlTextWriterAttribute.Href, "javascript:" + Page.ClientScript.GetPostBackEventReference(this, 1 + ""));
                            writer.RenderBeginTag(HtmlTextWriterTag.A);
                            writer.Write("1");
                            writer.RenderEndTag();

                            writer.RenderBeginTag(HtmlTextWriterTag.Span);
                            writer.Write("…");
                            writer.RenderEndTag();

                            for (int i = CurrentPage - 5; i <= CurrentPage + 5; i++)
                            {
                                if (i == CurrentPage)
                                {
                                    //添加当前选择的样式
                                    writer.AddAttribute(HtmlTextWriterAttribute.Class, SelectCss);
                                }
                                writer.AddAttribute(HtmlTextWriterAttribute.Href, "javascript:" + Page.ClientScript.GetPostBackEventReference(this, i + ""));
                                writer.RenderBeginTag(HtmlTextWriterTag.A);
                                writer.Write(i.ToString());
                                writer.RenderEndTag();
                            }
                            //添加最后一页
                            writer.RenderBeginTag(HtmlTextWriterTag.Span);
                            writer.Write("…");
                            writer.RenderEndTag();
                            writer.AddAttribute(HtmlTextWriterAttribute.Href, "javascript:" + Page.ClientScript.GetPostBackEventReference(this, TotalPage + ""));
                            writer.RenderBeginTag(HtmlTextWriterTag.A);
                            writer.Write(TotalPage.ToString());
                            writer.RenderEndTag();
                        }
                        else if (CurrentPage - 5 <= 2)//前面不够,后面有多余
                        {
                            for (int i = 1; i <= 10; i++)
                            {
                                if (i == CurrentPage)
                                {
                                    //添加当前选择的样式
                                    writer.AddAttribute(HtmlTextWriterAttribute.Class, SelectCss);
                                }
                                writer.AddAttribute(HtmlTextWriterAttribute.Href, "javascript:" + Page.ClientScript.GetPostBackEventReference(this, i + ""));
                                writer.RenderBeginTag(HtmlTextWriterTag.A);
                                writer.Write(i.ToString());
                                writer.RenderEndTag();
                            }
                            //添加最后一页
                            writer.RenderBeginTag(HtmlTextWriterTag.Span);
                            writer.Write("…");
                            writer.RenderEndTag();
                            writer.AddAttribute(HtmlTextWriterAttribute.Href, "javascript:" + Page.ClientScript.GetPostBackEventReference(this, TotalPage + ""));
                            writer.RenderBeginTag(HtmlTextWriterTag.A);
                            writer.Write(TotalPage.ToString());
                            writer.RenderEndTag();
                        }
                        else if (CurrentPage + 7 >= TotalPage)//前面多余,后面不足
                        {
                            //添加第一页
                            writer.AddAttribute(HtmlTextWriterAttribute.Href, "javascript:" + Page.ClientScript.GetPostBackEventReference(this, 1 + ""));
                            writer.RenderBeginTag(HtmlTextWriterTag.A);
                            writer.Write("1");
                            writer.RenderEndTag();
                            writer.RenderBeginTag(HtmlTextWriterTag.Span);
                            writer.Write("…");
                            writer.RenderEndTag();
                            for (int i = TotalPage - 10; i <= TotalPage; i++)
                            {
                                if (i == CurrentPage)
                                {
                                    //添加当前选择的样式
                                    writer.AddAttribute(HtmlTextWriterAttribute.Class, SelectCss);
                                }
                                writer.AddAttribute(HtmlTextWriterAttribute.Href, "javascript:" + Page.ClientScript.GetPostBackEventReference(this, i + ""));
                                writer.RenderBeginTag(HtmlTextWriterTag.A);
                                writer.Write(i.ToString());
                                writer.RenderEndTag();
                            }
                        }
                    }
                    if (PreNextVisable && CurrentPage != TotalPage && TotalPage > 1)
                    {
                        writer.AddAttribute(HtmlTextWriterAttribute.Href, "javascript:" + Page.ClientScript.GetPostBackEventReference(this, CurrentPage + 1 + ""));
                        writer.RenderBeginTag(HtmlTextWriterTag.A);
                        writer.Write(NextText);
                        writer.RenderEndTag();
                    }
                    writer.RenderEndTag();
                }
            }
        }