Example #1
0
        private void 更新输出HTML代码()
        {
            var tp = 计算总页数(总项目数, 每页显示最大项目数);

            if (tp <= 1 && 仅有一页时隐藏控件)
            {
                输出HTML代码 = string.Empty;
                return;
            }
            var np = 当前页;
            Func <int, string> makenavurl = 页码 =>
            {
                var d = new Dictionary <string, string>();
                d.Add(Url分页参数名, 页码.ToString());
                return(WebSite处理函数.获取页面名称() + "?" + WebSite处理函数.生成URL参数字串(d, true));
            };
            Func <int, string, string, string> makehtml = (页码, 显示字符串, Css类) =>
            {
                if (页码 == np)
                {
                    return(@"<li class=""{1}"">{0}</li>".FormatWith(显示字符串 == null ? (页码 + 1).ToString() : 显示字符串, Css类 == null ? "NowPage" : Css类));
                }
                else
                {
                    return(@"<li class=""{3}""><a href=""{2}"" title=""{0}"">{1}</a></li>".FormatWith(页码链接提示文字.FormatWith(页码 + 1), 显示字符串 == null ? (页码 + 1).ToString() : 显示字符串, 页面跳转模式 ? makenavurl(页码) : Page.GetPostBackClientHyperlink(this, 页码.ToString()), Css类 == null ? "Page" : Css类));
                }
            };

            StringBuilder s = new StringBuilder();

            if (np > 0)
            {
                s.AppendLine(makehtml(np - 1, "上一页", "LastPage"));
            }
            for (int i = 0; i < tp; i++)
            {
                if (i == 0 || i == tp - 1 || (i <= np + 当前页前后临近页码显示量 && i >= np - 当前页前后临近页码显示量))
                {
                    s.AppendLine(makehtml(i, null, null));
                }
                else if (i == (tp - np - 当前页前后临近页码显示量) / 2 + 当前页前后临近页码显示量 + np || i == (np - 当前页前后临近页码显示量) / 2)
                {
                    s.AppendLine(makehtml(i, "…", null));
                }
            }
            if (np < tp - 1)
            {
                s.AppendLine(makehtml(np + 1, "下一页", "NextPage"));
            }
            输出HTML代码 = s.ToString();
        }
Example #2
0
 /// <summary>
 /// 将动态页面转换为静态HTML页
 /// </summary>
 public void 转换为静态HTML页面(string 输出文件路径)
 {
     WebSite处理函数.转换为静态HTML页面(文件名, 输出文件路径);
 }
Example #3
0
 /// <summary>
 /// 获得Url或表单参数的值, 先判断Url参数是否为空字符串, 如为True则返回表单参数的值
 /// </summary>
 /// <param name="参数名">参数名</param>
 /// <returns>Url或表单参数的值</returns>
 public string 获取表单或URL参数值(string 参数名)
 {
     return(WebSite处理函数.获取表单或URL参数值(参数名));
 }