Beispiel #1
0
        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);
        }
Beispiel #2
0
 //在栏目页中对“翻页”(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));
 }