Пример #1
0
        /// <summary>
        /// 地址,路径编码,排除 / // \ \\等编码
        /// </summary>
        /// <param name="str"></param>
        /// <param name="encoding">编码类型</param>
        /// <returns></returns>
        public static string StrEncodeUrl(string str, string encoding)
        {
            if (str == null)
            {
                return("");
            }
            char   tempStr   = ' ';
            string tempStr2  = "";
            string returnStr = "";

            char[] ary = str.ToCharArray();
            for (int i = 0; i < str.Length; i++)
            {
                tempStr = ary[i];
                //过滤特别字符
                if (!EKGetString.IsExist(":,?,&,/,//,///,////,\\,\\\\,\\/,/\\", ',', tempStr.ToString()))
                {
                    tempStr2 = EKRequest.StrEncode(tempStr.ToString(), encoding);
                }
                else
                {
                    tempStr2 = tempStr.ToString();
                }
                //新编码字符串
                returnStr += tempStr2;
            }
            return(returnStr.Replace("+", "%20"));
        }
Пример #2
0
        /// <summary>
        /// 添加cookie值
        /// </summary>
        /// <param name="name">名称</param>
        /// <param name="value">值</param>
        /// <param name="decode">是否加密</param>
        public static void AddCookie(string name, string value, bool encode)
        {
            if (encode)
            {
                value = EKEncrypt.EncryptDES(value, _encryptkey);
            }
            System.Web.HttpCookie cook = System.Web.HttpContext.Current.Request.Cookies[name];
            if (cook == null)
            {
                cook = new System.Web.HttpCookie(name);

                if (!EKRequest.GetHost().Contains("192.168.") && !EKRequest.GetHost().Contains("localhost"))
                {
                    cook.Domain = EKRequest.GetDoMain();
                }

                cook.Value   = value;
                cook.Expires = DateTime.Now.AddMinutes(_minute);
                System.Web.HttpContext.Current.Response.Cookies.Add(cook);
            }
            else
            {
                if (!EKRequest.GetHost().Contains("192.168.") && !EKRequest.GetHost().Contains("localhost"))
                {
                    cook.Domain = EKRequest.GetDoMain();
                }

                cook.Value   = value;
                cook.Expires = DateTime.Now.AddMinutes(_minute);
                System.Web.HttpContext.Current.Response.Cookies.Add(cook);
            }
        }
Пример #3
0
        /// <summary>
        /// 可更换样式的分页,自动获取参数
        /// </summary>
        /// <param name="pageIndex"></param>
        /// <param name="pageSize"></param>
        /// <param name="count"></param>
        /// <param name="url"></param>
        /// <param name="css"></param>
        /// <returns></returns>
        public static string GetPageUrl(int pageIndex, int pageSize, int count, string url, PageCss css)
        {
            string strQuery = EKRequest.RemoveSameParameter("page");//去除参数page

            return(GetPageUrl(strQuery, pageIndex, pageSize, count, url, css));
        }
Пример #4
0
        /// <summary>
        /// 自定义URL地址多参数分页,样式 class="page1"
        /// </summary>
        /// <param name="pageindex">下标页</param>
        /// <param name="pagesize">页数量</param>
        /// <param name="count">总数量</param>
        /// <param name="ruleStr">规则地址,例: /abc/{0}-{1}/{2}/</param>
        /// <param name="parList">对应规则地址参数,例: "id","classid","page"</param>
        /// <returns></returns>
        public static string GetPageUrlPar(int pageindex, int pagesize, int count, string ruleStr, params object[] parList)
        {
            string cssname = "page1"; //样式名
            int    pageCount;         //页数
            int    pageStart;         //分页开始
            int    pageEnd;           //分页结束

            if (count <= pagesize)
            {
                return("");
            }

            if (count % pagesize == 0)
            {
                pageCount = count / pagesize;
            }
            else
            {
                pageCount = count / pagesize + 1;
            }
            string str;

            pageStart = pageindex / 10 == 0 ? 1 : pageindex / 10 * 10;
            pageEnd   = pageindex / 10 == 0 ? 9 : pageindex / 10 * 10 + 9;
            pageEnd   = pageEnd > pageCount ? pageCount : pageEnd;

            List <string> tempList = new List <string>();

            for (int i = 0; i < parList.Length; i++)
            {
                if (parList[i] == null)
                {
                    continue;
                }

                if (parList[i].ToString() != "page")
                {
                    //中文编码
                    tempList.Add(HttpUtility.UrlEncode(EKRequest.GetString(parList[i].ToString(), ""), Encoding.GetEncoding("GB2312")));
                    //tempList.Add(System.Web.HttpContext.Current.Server.UrlEncode(EKRequest.GetString(parList[i].ToString(), "")));
                }
                else
                {
                    tempList.Add("{0}");
                }
            }
            object[] tempObj = tempList.ToArray();
            ruleStr = string.Format(ruleStr, tempObj);

            //处理url中自定义添加参数
            str = "<div class=\"" + cssname.ToString() + "\">";

            if (count != 0 && pageindex != 1)
            {
                //str += "<span><a href=\"" + string.Format(ruleStr, "1") + "\" title=\"首 页\" ckass='pagefirst'>首 页</a></span>";
            }
            else
            {
                //str += "<span><a href=\"javascript:void(null)\" class=\"disabled pagefirst\" title=\"首 页\">首 页</a></span>";
            }

            if (pageindex > 1)
            {
                str += "<span><a href=\"" + string.Format(ruleStr, (pageindex - 1)) + "\" title=\"上一页\" class='pageback'>上一页</a></span>";
            }
            else
            {
                str += "<span><a href=\"javascript:void(null)\" class=\"disabled pageback\" title=\"上一页\">上一页</a></span>";
            }

            for (int i = pageStart; i <= pageEnd; i++)
            {
                if (i == pageindex)
                {
                    //当前页样式
                    str += "<span class=\"current\"><a href=\"javascript:void(null)\">" + i.ToString() + "</a></span>";
                }
                else
                {
                    str += "<span><a href=\"" + string.Format(ruleStr, i.ToString()) + "\">" + i.ToString() + "</a></span>";
                }
            }

            if (pageindex < pageCount)
            {
                str += "<span><a href=\"" + string.Format(ruleStr, (pageindex + 1)) + "\" title=\"下一页\" class='pagenext'>下一页</a></span>";
            }
            else
            {
                str += "<span><a href=\"javascript:void(null)\" class=\"disabled pagenext\" title=\"下一页\">下一页</a></span>";
            }

            if (pageindex != pageCount)
            {
                //str += "<span><a href=\"" + string.Format(ruleStr, pageCount) + "\" title=\"尾 页\" ckass='pageend'>尾 页</a></span>";
            }
            else
            {
                //str += "<span><a href=\"javascript:void(null)\" class=\"disabled pageend\" title=\"尾 页\">尾 页</a></span>";
            }

            str += "</div>";
            return(str);
        }
Пример #5
0
        /// <summary>
        /// 默认样式分页,自动获取参数,默认当前网页地址.
        /// </summary>
        /// <param name="pageindex">当前页</param>
        /// <param name="pagesize">每页大小</param>
        /// <param name="count">总数量</param>
        /// <returns></returns>
        public static string GetPageUrl(int pageIndex, int pageSize, int count)
        {
            string strQuery = EKRequest.RemoveSameParameter("page");//去除参数page

            return(GetPageUrl(strQuery, pageIndex, pageSize, count, GetPageName(), PageCss.page1));
        }
Пример #6
0
        /// <summary>
        /// 获取内容详细分页,可更换样式的分页,自动获取参数,无首页,尾页  1 2 3 4 5 6
        /// </summary>
        /// <param name="pageindex"></param>
        /// <param name="pagesize"></param>
        /// <param name="count"></param>
        /// <param name="url"></param>
        /// <param name="css"></param>
        /// <returns></returns>
        public static string GetContentPageUrl(int pageindex, int pagesize, int count, string url, PageCss css)
        {
            string strQuery = EKRequest.RemoveSameParameter("page"); //去除参数page
            string cssname  = css.ToString();
            int    pageCount;                                        //页数
            int    pageStart;                                        //分页开始
            int    pageEnd;                                          //分页结束

            if (count <= pagesize)
            {
                return("");
            }

            if (count % pagesize == 0)
            {
                pageCount = count / pagesize;
            }
            else
            {
                pageCount = count / pagesize + 1;
            }
            string str;

            pageStart = pageindex / 10 == 0 ? 1 : pageindex / 10 * 10;
            pageEnd   = pageindex / 10 == 0 ? 9 : pageindex / 10 * 10 + 9;
            pageEnd   = pageEnd > pageCount ? pageCount : pageEnd;
            if (strQuery.Trim().Length > 0)
            {
                strQuery += "&";
            }
            //处理url中自定义添加参数
            if (url.Contains("?"))
            {
                url += "&";
            }
            else
            {
                url += "?";
            }
            str = "<div class=\"" + cssname.ToString() + "\">";

            if (pageindex > 1)
            {
                str += "<span><a href=\"" + url + strQuery + "page=" + (pageindex - 1) + "\" title=\"上一页\">< 上一页</a></span>";
            }
            else
            {
                str += "<span><a href=\"javascript:void(null)\" class=\"disabled\" title=\"上一页\">< 上一页</a></span>";
            }

            for (int i = pageStart; i <= pageEnd; i++)
            {
                if (i == pageindex)
                {
                    //当前页样式
                    str += "<span class=\"current\"><a href=\"javascript:void(null)\">" + i.ToString() + "</a></span>";
                }
                else
                {
                    str += "<span><a href=\"" + url + strQuery + "page=" + i.ToString() + "\">" + i.ToString() + "</a></span>";
                }
            }

            if (pageindex < pageCount)
            {
                str += "<span><a href=\"" + url + strQuery + "page=" + (pageindex + 1) + "\" title=\"下一页\">下一页 ></a></span>";
            }
            else
            {
                str += "<span><a href=\"javascript:void(null)\" class=\"disabled\" title=\"下一页\">下一页 ></a></span>";
            }

            str += "</div>";
            return(str);
        }
Пример #7
0
 /// <summary>
 /// 重新定向页面,返回删除参数后的页面地址
 /// </summary>
 /// <param name="par">参数键名,多个用逗号格开</param>
 /// <returns></returns>
 public static string RePage(string par)
 {
     return(EKRequest.GetPageName() + "?" + EKRequest.RemoveSameParameter(par));
 }
Пример #8
0
        /// <summary>
        /// 删除当前请求中的重复的参数,删除指定参数(多个使用,号格开),并返回删除后参数列表
        /// </summary>
        /// <param name="parame">参数键名,多个用逗号格开</param>
        /// <returns></returns>
        public static string RemoveSameParameter(string parameter)
        {
            string strParam = "";
            bool   isExist  = false;

            for (int i = 0; i < HttpContext.Current.Request.QueryString.Count; i++)
            {
                for (int j = 0; j < HttpContext.Current.Request.QueryString.Count; j++)
                {
                    if (HttpContext.Current.Request.QueryString.GetKey(i) == null || HttpContext.Current.Request.QueryString.GetKey(j) == null)
                    {
                        break;
                    }

                    if (i != j && HttpContext.Current.Request.QueryString.GetKey(i).ToLower() == HttpContext.Current.Request.QueryString.GetKey(j).ToLower())
                    {
                        isExist = true;
                        break;
                    }
                }

                //多参数
                string[] strAry  = parameter.ToLower().Split(',');
                bool     isParam = false;
                for (int k = 0; k < strAry.Length; k++)
                {
                    if (HttpContext.Current.Request.QueryString.GetKey(i) == null || strAry[k] == null)
                    {
                        break;
                    }

                    if (HttpContext.Current.Request.QueryString.GetKey(i).ToLower() == strAry[k])
                    {
                        isParam = true;
                        break;
                    }
                }

                //是否存在重复,是否存在 要删除中的一个.为了不重复添加,判断strParam中是否已经存在相同键 "?键=" 或 "&键="
                if (!isExist && HttpContext.Current.Request.QueryString.GetKey(i) != null && !isParam)
                {
                    strParam += "&" + HttpContext.Current.Request.QueryString.GetKey(i) + "=" + EKRequest.StrEncode(HttpContext.Current.Request.QueryString.Get(i), "utf-8");
                }
            }
            if (strParam.Contains("&"))
            {
                strParam = strParam.Remove(0, 1);
            }
            return(FilterKey(strParam));
        }