Ejemplo n.º 1
0
        /// <summary>
        /// Renders the contents of the control to the specified writer.
        /// </summary>
        /// <param name="writer">A <see cref="HtmlTextWriter"/> that represents the output stream to render HTML content on the client.</param>
        protected override void RenderContents(HtmlTextWriter writer)
        {
            // table header
            writer.AddAttribute(HtmlTextWriterAttribute.Class, "caption");
            writer.RenderBeginTag(HtmlTextWriterTag.H3);
            writer.Write(this.Title);
            writer.RenderEndTag();
            writer.AddAttribute(HtmlTextWriterAttribute.Class, "cp-boundingBox cp-table cp-Announcements");
            writer.RenderBeginTag(HtmlTextWriterTag.Div);

            // loop through announcements and render each
            if (this.DataSource != null && this.DataSource.Count() > 0)
            {
                writer.RenderBeginTag(HtmlTextWriterTag.Ul);
                foreach (Announcement item in this.DataSource)
                {
                    writer.RenderBeginTag(HtmlTextWriterTag.Li);
                    // show indicator if new
                    int daysOld = DateTime.Today.Subtract(item.Posted.Value).Days;
                    if (daysOld >= 0 && daysOld <= Properties.Settings.Default.NewAnnouncementCutoffDays)
                    {
                        writer.AddAttribute(HtmlTextWriterAttribute.Src, "/images/new.gif");
                        writer.AddAttribute(HtmlTextWriterAttribute.Width, "22");
                        writer.AddAttribute(HtmlTextWriterAttribute.Height, "10");
                        writer.AddAttribute(HtmlTextWriterAttribute.Alt, "New");
                        writer.AddAttribute(HtmlTextWriterAttribute.Class, "newAlert");
                        writer.RenderBeginTag(HtmlTextWriterTag.Img);
                        writer.RenderEndTag();
                        writer.Write(" ");
                    }
                    // render link
                    writer.AddAttribute(HtmlTextWriterAttribute.Title, item.Title);
                    writer.AddAttribute(HtmlTextWriterAttribute.Href, PageUrlManager.GetAnnouncementUrl(item));
                    writer.RenderBeginTag(HtmlTextWriterTag.A);
                    writer.Write(item.Title);
                    writer.RenderEndTag();
                    writer.RenderEndTag();
                }
                writer.RenderEndTag();
            }
            else
            {
                writer.Write(this.EmptyDataText);
            }

            writer.RenderEndTag();
        }