public async Task <string> ParseStlPageItemsAsync(string htmlInStlPageElement, int channelId, int contentId, int currentPageIndex, int pageCount, int totalNum, bool isXmlContent, ParseType contextType) { var html = htmlInStlPageElement; var mc = StlParserUtility.GetStlEntityRegex("pageItem").Matches(html); for (var i = 0; i < mc.Count; i++) { var stlEntity = mc[i].Value; var pageHtml = await StlPageItem.ParseEntityAsync(this, stlEntity, channelId, contentId, currentPageIndex, pageCount, totalNum, isXmlContent, contextType); html = html.Replace(stlEntity, pageHtml); } mc = StlParserUtility.RegexStlElement.Matches(html); for (var i = 0; i < mc.Count; i++) { var stlElement = mc[i].Value; var pageHtml = await StlPageItem.ParseElementAsync(this, stlElement, channelId, contentId, currentPageIndex, pageCount, totalNum, contextType); html = html.Replace(stlElement, pageHtml); } return(html); }
//在栏目页中对“翻页”(stl:pageItem)元素进行解析,此元素在生成页面时单独解析,不包含在ParseStlElement方法中。 public async Task <string> ParseStlPageItemInChannelPageAsync(string stlElement, int channelId, int currentPageIndex, int pageCount, int totalNum) { return(await StlPageItem.ParseElementAsync(this, stlElement, channelId, 0, currentPageIndex, pageCount, totalNum, ParseType.Channel)); }