| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310 |
- using System;
- using System.Collections.Generic;
- using System.Text;
- using System.Web;
- using System.Web.UI.WebControls;
- using Utils;
- namespace SiteCore
- {
- public class SiteBasePage : BasePage
- {
- public static string tmpImgPath = webConfig.tmpImgPath;
- public static string instImgPath = webConfig.instPath;
- public static string wsPath = webConfig.wsPath;
- public static string expertImgPath = webConfig.expertPath;
- #region ShowKeyWord
- public const string SiteKey = " - 校园交易网";
- public void ShowKeyWord(string key, string des)
- {
- StringBuilder str = new StringBuilder();
- str.AppendFormat("\n<meta content=\"{0}\" name=\"keywords\" />\n", key);
- str.AppendFormat("<meta content=\"{0}\" name=\"description\" />", des);
- Literal lit = new Literal();
- lit.Text = str.ToString();
- Page.Header.Controls.AddAt(3, lit);
- }
- public void ShowTitle(string title)
- {
- Title = "校园交易网 - " + title;
- }
- #endregion
- public bool CheckLogin()
- {
- if (CurrentUser == null) { Response.Write("您尚未登录!"); return false; }
- return true;
- }
- public bool CheckUser()
- {
- if (CurrentUser == null) { return false; }
- return true;
- }
- public string GetDottedStyle(int index)
- {
- if (index == 0) return "wraptxt";
- return "wraptxt top_dot";
- }
- public string GetOrderNum(int index)
- {
- if (index > 3) return "<li class='cut_order' style='width:30px'>" + index + "</li>";
- return "<li class='top_order' style='width:30px'>" + index + "</li>";
- }
- public string GetSelfID(string sId)
- {
- return CommonHelper.GetNoneZero(sId);
- }
- public string GetSelfHref(string prev, object sId)
- {
- string gId = sId.ToString();//.Substring(1);
- return prev + "/" + gId.PadLeft(5, '0');
- }
- public double GetGroupSecond(object pTime, object day)
- {
- if (pTime.Equals(DBNull.Value) || day.Equals(DBNull.Value)) return 0;
- DateTime endTime = Convert.ToDateTime(pTime).AddDays(Convert.ToInt32(day));
- DateTime nowTime = DateTime.Now;
- double second = endTime.Subtract(nowTime).TotalSeconds;
- if (second > 0) return second;
- return 0;
- }
- #region 网站过滤
- /// <summary>
- /// 记录是分开的
- /// </summary>
- public bool IsSplit { get; set; }
- public bool IsIndustry { get; set; }
- public string GetFilterString(IList<DicItem> list, params string[] pArr)
- {
- return GetFilterString(list, pArr.Length, pArr);
- }
- public string GetFilterString(IList<DicItem> list, int showIdx, params string[] pArr)
- {
- //if (list == null || list.Count<1) return "";
- StringBuilder filterStr = new StringBuilder();
- int len = pArr.Length;
- int idx = GetDeepIndex(pArr);
- //参数级别
- if (idx > showIdx) idx = showIdx;
- if (idx == 1 && len == 1)
- { //只有一级
- GetOneLevelUL(list, pArr[0], ref filterStr);
- }
- else if (idx == 0)
- { //初始
- GetContentUL(list, ref filterStr, idx, pArr);
- }
- else
- {
- string sName = null;
- if (IsSplit) sName = GetHttpDecodeString(pArr[idx - 1] + "cn");
- else
- {
- if (list.Count > 0) sName = list[0].Name;
- else sName = "未知";
- }
- GetItemUL(ref filterStr, sName, idx, pArr);//获取item项
- filterStr.Append("<div class=\"part_info clearfix\">");
- filterStr.Append(" <div class=\"content\">");
- GetContentUL(list, ref filterStr, idx, pArr);//获取内容项
- filterStr.Append("</div></div>");
- }
- return filterStr.ToString();
- }
- //获取ITEM项
- public void GetItemUL(ref StringBuilder filterStr, string sName, int idx, params string[] pArr)
- {
- if (pArr.Length == 0) return;
- filterStr.Append("<ul class=\"clearfix\">");
- filterStr.AppendFormat("<li><a href=\"{0}\">全部</a> </li>", RemoveUrlParamHasCN(pArr));
- if (pArr.Length > 0)
- {
- if (idx % 2 == 0)
- {
- filterStr.AppendFormat("<li><a href=\"{1}\">{0}</a> </li>", HttpUtility.UrlDecode(sName), RemoveUrlParamHasCN(pArr[idx - 1]));
- }
- else
- {
- filterStr.AppendFormat("<li><b>{0}</b> </li>", HttpUtility.UrlDecode(sName));
- }
- }
- filterStr.Append("</ul>");
- }
- //获取内容项
- public void GetContentUL(IList<DicItem> list, ref StringBuilder filterStr, int idx, params string[] pArr)
- {
- //filterStr.Append("<ul class=\"clearfix\">");
- if (list.Count - idx > 0)
- {
- //int pi = idx - 1 < 0 ? 0 : idx - 1;
- string tmpParam = null;
- if (IsSplit) tmpParam = pArr[idx] + "={0}&" + pArr[idx] + "cn={1}&pg=1";
- else tmpParam = pArr[idx] + "={0}&pg=1";
- string url = "";
- string itemName = "";
- int i = 0;
- int pLen = GetDeepIndex(pArr);
- int cId = 0;
- if (pLen > 0) cId = Convert.ToInt32(GetDeepString(pArr));
- if (pLen < pArr.Length)
- filterStr.AppendFormat("<span>{0}</span>", "全部");
- else
- filterStr.AppendFormat("<span><a href=\"{0}\">全部</a></span>", RemoveUrlParamHasCN(pArr[idx]));
- url = CommonHelper.GetCurUrl(tmpParam);
- foreach (DicItem item in list)
- {
- if (!IsSplit && i < idx) { i++; continue; }//父节点的记录不显示
- if (IsIndustry) itemName = item.Name + "(" + item.Mcount + ")";//行业分类显示数量
- else itemName = item.Name;
- if (idx > 0 && item.ID == cId)//相同则不显示超链接
- {
- filterStr.AppendFormat("<span><b>{0}</b></span>", HttpUtility.UrlDecode(itemName));
- }
- else
- {
- if (IsSplit) filterStr.AppendFormat("<span><a href=\"{0}\">{1}</a></span>", string.Format(url, item.ID, HttpUtility.UrlEncode(itemName)), itemName);
- else filterStr.AppendFormat("<span><a href=\"{0}\">{1}</a></span>", string.Format(url, item.ID), itemName);
- }
- i++;
- }
- }
- else
- {
- if (IsSplit) filterStr.AppendFormat("<span><b>{0}</b></span>", GetHttpDecodeString(pArr[idx - 1] + "cn"));
- else if (list.Count > idx - 1)
- filterStr.AppendFormat("<span><b>{0}</b></span>", HttpUtility.UrlDecode(list[idx - 1].Name));
- }
- //filterStr.Append("</ul>");
- }
- public void GetOneLevelUL(IList<DicItem> list, string param, ref StringBuilder filterStr)
- {
- string tmpParam = null;
- if (IsSplit) tmpParam = param + "={0}&" + param + "cn={1}&pg=1";
- else tmpParam = param + "={0}&pg=1";
- string itemName = string.Empty;
- string url = string.Empty;
- int pId = GetInt(param);
- url = CommonHelper.GetCurUrl(tmpParam);
- filterStr.Append("<ul class=\"clearfix\">");
- filterStr.AppendFormat("<li><a href=\"{0}\">全部</a> </li>", RemoveUrlParamHasCN(param));
- foreach (DicItem item in list)
- {
- if (pId == item.ID) continue;
- if (IsIndustry) itemName = item.Name + "(" + item.Mcount + ")";
- else itemName = item.Name;
- if (item.Name == list[0].Name)
- {
- filterStr.AppendFormat("<li><b>{0}</b></li>", itemName);
- }
- else
- {
- if (IsSplit) filterStr.AppendFormat("<li><a href=\"{0}\">{1}</a></li>", string.Format(url, item.ID, itemName), item.Name);
- filterStr.AppendFormat("<li><a href=\"{0}\">{1}</a></li>", string.Format(url, item.ID), item.Name);
- }
- }
- filterStr.Append("</ul>");
- }
- /// <summary>
- /// 删除URL参数有带CN,即ind,indcn两个
- /// </summary>
- /// <param name="param"></param>
- /// <returns></returns>
- private string RemoveUrlParamHasCN(params string[] param)
- {
- int len = param.Length * 2;
- string[] sArr = new string[len];
- for (int i = 0; i < param.Length; i++)
- {
- sArr[2 * i] = param[i];
- sArr[2 * i + 1] = param[i] + "cn";
- }
- return CommonHelper.GetCurPageUrlRemoveParm(sArr);
- }
- #endregion
- #region URL参数
- //获取raw参数
- private string getRawQuery()
- {
- string rUrl = "";
- rUrl = Page.Request.RawUrl;
- if (rUrl.IndexOf("?") != -1)
- rUrl = rUrl.Substring(rUrl.IndexOf("?") + 1);
- else
- rUrl = "";
- return rUrl.ToLower();
- }
- /// <summary>
- /// 获取当前参数
- /// </summary>
- /// <param name="parm"></param>
- /// <param name="isDel"></param>
- /// <returns></returns>
- public string GetCurParms(string parm, bool isDel)
- {
- string raw = getRawQuery();
- if (isDel)
- return "?" + raw.Replace(parm.ToLower(), "").Replace("&&", "&").TrimStart('&');
- return "?" + (raw == "" ? "" : raw + "&") + parm;
- }
- /// <summary>
- /// 给当前页面添加参数
- /// </summary>
- /// <param name="parm"></param>
- /// <param name="df">默认地址</param>
- /// <returns></returns>
- public string GetCurAddParms(string parm, string df)
- {
- string sArr = GetCurRemoveParms(parm, df, false);
- string[] pArr = parm.Split('&');
- string[] tmp;
- for (int i = pArr.Length - 1; i >= 0; i--)
- {
- tmp = pArr[i].Split('=');
- if (tmp[1] == "") pArr = CommonHelper.DelArrayString(pArr, tmp[0] + "=");
- }
- string url = "";
- if (sArr.Length > 0)
- url = sArr + (pArr.Length > 0 ? "&" + string.Join("&", pArr) : "");
- else if (pArr.Length > 0)
- url = string.Join("&", pArr);
- if (url.Length > 0) return "?" + url;
- return df;
- }
- public string GetCurRemoveParms(string parm, string df, bool isReturn)
- {
- string raw = getRawQuery();
- if (raw == "") return "";
- string[] sArr = raw.Split('&');
- string[] pArr = parm.Split('&');
- IList<int> rList = new List<int>();
- for (int i = 0; i < pArr.Length; i++)
- {
- sArr = CommonHelper.DelArrayString(sArr, pArr[i].Split('=')[0] + "=");
- }
- if (isReturn)
- {
- return sArr.Length > 0 ? "?" + string.Join("&", sArr) : df;
- }
- return string.Join("&", sArr);
- }
- #endregion
- }
- }
|