/// <summary> /// 获取生成静态地址 /// </summary> /// <param name="context"></param> public void getpublishsite(HttpContext context) { string lang = DTRequest.GetQueryString("lang"); string name = DTRequest.GetQueryString("name"); string type = DTRequest.GetQueryString("type"); StringBuilder sbjson = new StringBuilder(); //获得URL配置列表 BLL.url_rewrite bll = new BLL.url_rewrite(); List <Model.url_rewrite> ls = (!string.IsNullOrEmpty(type)) ? bll.GetList(name, type) : bll.GetList(name); string linkurl = string.Empty; sbjson.Append("["); if (type == "indexlist") { #region 针对特殊需求 List <Model.url_rewrite> ls2 = (!string.IsNullOrEmpty("list")) ? bll.GetList(name, "list") : bll.GetList(name, "list"); foreach (Model.url_rewrite modeltrewrite2 in ls2) { if (modeltrewrite2.url_rewrite_items.Count > 0) { if (modeltrewrite2.channel == string.Empty || modeltrewrite2.channel == name) { //遍历URL字典的子节点 foreach (Model.url_rewrite_item item2 in modeltrewrite2.url_rewrite_items) { if (sbjson.ToString().Length > 1) { sbjson.Append(","); } switch (modeltrewrite2.type.ToLower()) { case "list": sbjson.Append(GetArticleIndexUrlList(lang, name, modeltrewrite2.page, item2.pattern, item2.path, item2.querystring, objchannel.GetPageSize(name))); break; } } } } } #endregion } else { foreach (Model.url_rewrite modeltrewrite in ls) { if (modeltrewrite.url_rewrite_items.Count > 0) { if (modeltrewrite.channel == string.Empty || modeltrewrite.channel == name) { //遍历URL字典的子节点 foreach (Model.url_rewrite_item item in modeltrewrite.url_rewrite_items) { if (item.querystring == string.Empty) { linkurl = string.Format("{0}/{1}/{2}", DTKeys.DIRECTORY_REWRITE_ASPX, lang, modeltrewrite.page); string HTMLPattern = string.Format("{0}/{1}/{2}", DTKeys.DIRECTORY_REWRITE_HTML, lang, Utils.GetUrlExtension(item.pattern, config.staticextension)); //替换扩展名 if (sbjson.ToString().Length > 1) { sbjson.Append(","); } sbjson.AppendFormat(urlstr, config.webpath, lang, linkurl, HTMLPattern); } else { if (sbjson.ToString().Length > 1) { sbjson.Append(","); } switch (modeltrewrite.type.ToLower()) { case "list": sbjson.Append(GetArticleUrlList(lang, name, modeltrewrite.page, item.pattern, item.path, item.querystring, objchannel.GetPageSize(name))); break; case "detail": sbjson.Append(GetDetailUrlList(lang, name, modeltrewrite.page, item.pattern, item.path, item.querystring)); break; case "category": sbjson.Append(GetCategoryUrlList(lang, name, modeltrewrite.page, item.pattern, item.path, item.querystring, objchannel.GetPageSize(name))); break; } } } } } } } sbjson.Append("]"); context.Response.Write(sbjson.ToString()); }