首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

关于分页有关问题请问

2012-11-08 
关于分页问题请教使用服务器控件后,点击服务器控件后,在点击分页的时候就会报错。分页使用的是地址传递值下

关于分页问题请教
使用服务器控件后,点击服务器控件后,在点击分页的时候就会报错。
分页使用的是地址传递值
下面是分页函数

C# code
/// <summary>        /// 分页函数        /// </summary>        /// <param name="recordcount">总记录数</param>        /// <param name="pagesize">每页记录数</param>        /// <param name="currentpage">当前页数</param>        /// <returns></returns>        public static string HtmlPage(int recordcount, int pagesize, int currentpage)        {            string thisUrl = CreateUrl();            string pageStr = "";            int allcurrentpage = 0;            int next = 0;            int pre = 0;            int startcount = 0;            int endcount = 0;            if (currentpage < 1) currentpage = 1;            //计算总页数            if (pagesize != 0)            {                allcurrentpage = (recordcount / pagesize);                allcurrentpage = ((recordcount % pagesize) != 0 ? allcurrentpage + 1 : allcurrentpage);                allcurrentpage = (allcurrentpage == 0 ? 1 : allcurrentpage);            }            next = currentpage + 1;            pre = currentpage - 1;            //中间页起始序号            startcount = (currentpage + 5) > allcurrentpage ? allcurrentpage - 9 : currentpage - 4;            //中间页终止序号            endcount = currentpage < 5 ? 10 : currentpage + 5;            //为了避免输出的时候产生负数,设置如果小于1就从序号1开始            if (startcount < 1)                startcount = 1;            //页码+5的可能性就会产生最终输出序号大于总页码,那么就要将其控制在页码数之内            if (allcurrentpage < endcount)                endcount = allcurrentpage;            //            pageStr += currentpage > 1 ? "&nbsp;<a href=\"" + thisUrl + "&page=1\" title=\"首页\">首页</a>&nbsp;<a href=\"" + thisUrl + "&page=" + pre + "\" title=\"前页\">前页</a>" : "首页 前页";            //if (startcount > 1) pageStr += currentpage > 1 ? "&nbsp;<a href=\"" + thisUrl + "&page=" + pre + "\" title=\"上一页\">上一页</a>" : "";            //当页码数大于1时, 则显示页码            if (endcount > 1)            {                //中间页处理, 这个增加时间复杂度,减小空间复杂度                for (int i = startcount; i <= endcount; i++)                {                    pageStr += currentpage == i ? "&nbsp;" + i + "" : "&nbsp;<a href=\"" + thisUrl + "&page=" + i + "\" >" + i + "</a>";                }            }            pageStr += currentpage != allcurrentpage ? "&nbsp;<a href=\"" + thisUrl + "&page=" + next + "\" title=\"后页\">后页</a>&nbsp;<a href=\"" + thisUrl + "&page=" + allcurrentpage + "\" title=\"尾页\">尾页</a>&nbsp;" : "后页 尾页";            //if (endcount < allcurrentpage) pageStr += currentpage != allcurrentpage ? "&nbsp;<a href=\"" + thisUrl + "&page=" + next + "\" title=\"下一页\">下一页</a>&nbsp;" : "";            if (endcount > 1)                pageStr += "&nbsp;";            pageStr += "&nbsp;页次:" + currentpage + "/" + allcurrentpage + " 页 " + pagesize + "个/页 ";            pageStr += "<select name=topage onChange=\"javascript:location.href=this.options[selectedIndex].value\">";            for (int i = 1; i <= allcurrentpage; i++)            {                pageStr += "<option value=\"" + thisUrl + "&page=" + i + "\" " + ((i == currentpage) ? "selected" : "") + " >" + i + "</option>";            }            pageStr += "</select>页";            pageStr += "共 " + recordcount + " 条记录";            return pageStr;        } 


相关联的函数
C# code
 public static string CreateUrl()        {            string[] sortedStr = HttpContext.Current.Request.QueryString.AllKeys;            StringBuilder urlParam = new StringBuilder();            if (sortedStr.Count() > 0)            {                for (int i = 0; i < sortedStr.Length; i++)                {                    if (ArhRequest.GetString(sortedStr[i]) != "" && sortedStr[i] != "page")                    {                        if (urlParam.ToString() == "")                            urlParam.Append(sortedStr[i] + "=" + ArhRequest.GetString(sortedStr[i]));                        else                            urlParam.Append("&" + sortedStr[i] + "=" + ArhRequest.GetString(sortedStr[i]));                    }                }            }            sortedStr = HttpContext.Current.Request.Form.AllKeys;            if (sortedStr.Count() > 0)            {                for (int i = 0; i < sortedStr.Length; i++)                {                    if (ArhRequest.GetString(sortedStr[i]) != "" && sortedStr[i] != "page")                    {                        if (urlParam.ToString() == "")                            urlParam.Append(sortedStr[i] + "=" + ArhRequest.GetString(sortedStr[i]));                        else                            urlParam.Append("&" + sortedStr[i] + "=" + ArhRequest.GetString(sortedStr[i]));                    }                }            }            return HttpContext.Current.Request.FilePath + "?" + urlParam.ToString();        }


[解决办法]
报错自己调试啊
[解决办法]
设置一个端点,单步跟一下,看看在哪一句报错
[解决办法]
你这是什么分页Datalist?如果是给你个实例:地址
[解决办法]
设置断点,单步跟踪。使用ASPNETPAGER
[解决办法]
探讨
使用服务器控件后,点击服务器控件后,在点击分页的时候就会报错。

热点排行