protected void rptSubitems_ItemDataBound(object sender, RepeaterItemEventArgs e) { if (e.Item.ItemType != ListItemType.Item && e.Item.ItemType != ListItemType.AlternatingItem) { return; } ArticleForFEList artData = (ArticleForFEList)e.Item.DataItem; Guid articleId = artData.ArticleId; string articleSubject = artData.ArticleSubject; int showTypeId = artData.ShowTypeId.Value; string linkUrl = artData.LinkUrl; string linkTarget = artData.LinkTarget ?? ""; string destUrl = "/" + StringUtility.GetLinkUrlOfShowType(articleId, c.qsLangNo, showTypeId, linkUrl); HtmlAnchor btnItem = (HtmlAnchor)e.Item.FindControl("btnItem"); btnItem.HRef = destUrl; btnItem.Title = articleSubject; HtmlAnchor btnPic = (HtmlAnchor)e.Item.FindControl("btnPic"); btnPic.HRef = destUrl; btnPic.Title = articleSubject; if (!string.IsNullOrEmpty(linkTarget)) { btnItem.Target = linkTarget; btnPic.Target = linkTarget; } // get thumb picture List <ArticlePictureForFrontend> pictures = artPub.GetArticlePictureListForFrontend(articleId, c.qsCultureNameOfLangNo); if (pictures != null && pictures.Count > 0) { ArticlePictureForFrontend artPic = pictures[0]; Guid picId = artPic.PicId; string picSubject = artPic.PicSubject; HtmlImage imgPic = (HtmlImage)e.Item.FindControl("imgPic"); imgPic.Src = string.Format("/FileArtPic.ashx?attid={0}&w=640&h=480&l={1}", picId, c.qsLangNo); imgPic.Alt = picSubject; } }
protected void rptPictures_ItemDataBound(object sender, RepeaterItemEventArgs e) { ArticlePictureForFrontend artPic = (ArticlePictureForFrontend)e.Item.DataItem; Guid picId = artPic.PicId; string picSubject = artPic.PicSubject; HtmlAnchor btnItem = (HtmlAnchor)e.Item.FindControl("btnItem"); btnItem.Title = picSubject; btnItem.HRef = string.Format("FileArtPic.ashx?attid={0}&l={1}", picId, c.qsLangNo); HtmlImage imgPic = (HtmlImage)e.Item.FindControl("imgPic"); imgPic.Src = string.Format("FileArtPic.ashx?attid={0}&w=1024&h=768&l={1}", picId, c.qsLangNo); imgPic.Alt = picSubject; }
public override ClientResult ProcessRequest() { int minMs = 500; //最少讓client等?毫秒 DateTime start = DateTime.Now; ClientResult cr = null; Guid articleId; string artId; int p; artId = GetParamValue("artid"); articleId = new Guid(artId); p = Convert.ToInt32(GetParamValue("p")); if (p == 1) { minMs = 0; //第一頁快一點 } // get article data if (c.RetrieveArticleIdAndData(articleId)) { articleData = c.GetArticleData(); } else { cr = new ClientResult() { b = false, err = "no data" }; System.Threading.Thread.Sleep(minMs); return(cr); } // get sub-items ArticleValidListQueryParams param = new ArticleValidListQueryParams() { ParentId = articleData.ArticleId.Value, CultureName = c.qsCultureNameOfLangNo, Kw = "" }; param.PagedParams = new PagedListQueryParams() { BeginNum = 0, EndNum = 0, SortField = articleData.SortFieldOfFrontStage, IsSortDesc = articleData.IsSortDescOfFrontStage }; // get total of items artPub.GetArticleValidListForFrontend(param); // setting pager rule if (string.Compare(articleData.ControlName, "ListBlocks", true) == 0) { dataPager.MaxItemCountOfPage = 6; dataPager.MaxDisplayCountInPageCodeArea = 5; } else { dataPager.MaxItemCountOfPage = 10; dataPager.MaxDisplayCountInPageCodeArea = 5; } // update pager and get begin end of item numbers dataPager.ItemTotalCount = param.PagedParams.RowCount; dataPager.SetCurrentPageCodeAndRecalc(p); param.PagedParams = new PagedListQueryParams() { BeginNum = dataPager.BeginItemNumberOfPage, EndNum = dataPager.EndItemNumberOfPage, SortField = articleData.SortFieldOfFrontStage, IsSortDesc = articleData.IsSortDescOfFrontStage }; List <ArticleForFEList> subitems = artPub.GetArticleValidListForFrontend(param); if (subitems == null) { ArticlePagedInfo info = new ArticlePagedInfo() { pageCode = 0, pageTotal = 0 }; cr = new ClientResult() { b = true, o = info }; System.Threading.Thread.Sleep(minMs); return(cr); } // get thumbs List <object> articleThumbs = new List <object>(); foreach (ArticleForFEList art in subitems) { ArticleForFEListWithThumb artThumb = new ArticleForFEListWithThumb(art); Guid itemId = art.ArticleId; List <ArticlePictureForFrontend> pictures = artPub.GetArticlePictureListForFrontend(itemId, c.qsCultureNameOfLangNo); string picId = ""; string picSubject = ""; if (pictures != null && pictures.Count > 0) { ArticlePictureForFrontend artPic = pictures[0]; picId = artPic.PicId.ToString(); picSubject = artPic.PicSubject; } artThumb.PicId = picId; artThumb.PicSubject = picSubject; articleThumbs.Add(artThumb); } ArticlePagedInfo pagedInfo = new ArticlePagedInfo() { pageCode = p, pageTotal = dataPager.PageTotalCount, itemTotal = dataPager.ItemTotalCount, itemList = articleThumbs }; cr = new ClientResult() { b = true, o = pagedInfo }; TimeSpan ts = DateTime.Now - start; if (ts.TotalMinutes < minMs) { System.Threading.Thread.Sleep(minMs - (int)ts.TotalMinutes); } return(cr); }