using System; using System.Data; namespace yaf.controls { /// /// Summary description for PageLinks. /// public class PageLinks : BaseControl { public void AddLink(string title,string url) { DataTable dt = (DataTable)ViewState["data"]; if ( dt == null ) { dt = new DataTable(); dt.Columns.Add("Title",typeof(string)); dt.Columns.Add("URL",typeof(string)); ViewState["data"] = dt; } DataRow dr = dt.NewRow(); dr["Title"] = title; dr["URL"] = url; dt.Rows.Add(dr); } /// /// Clear all Links /// public void Clear() { DataTable dt = (DataTable)ViewState["data"]; if ( dt != null ) { ViewState ["data"] = null; } } public void AddForumLinks(int forumID) { this.AddForumLinks(forumID,false); } public void AddForumLinks(int forumID, bool noForumLink) { using(DataTable dtLinks=DB.forum_listpath(forumID)) { foreach(DataRow row in dtLinks.Rows) { if (noForumLink && Convert.ToInt32(row["ForumID"]) == forumID) AddLink(row["Name"].ToString(),""); else AddLink(row["Name"].ToString(),Forum.GetLink(Pages.topics,"f={0}",row["ForumID"])); } } } private void Page_Load(object sender, System.EventArgs e) { } override protected void OnInit(EventArgs e) { this.Load += new System.EventHandler(this.Page_Load); base.OnInit(e); } protected override void Render(System.Web.UI.HtmlTextWriter writer) { DataTable m_links = (DataTable)ViewState["data"]; if (m_links == null || m_links.Rows.Count == 0) return; writer.WriteLine("

"); bool bFirst = true; foreach(DataRow row in m_links.Rows) { if(!bFirst) writer.WriteLine("»"); else bFirst = false; if (row["URL"].ToString().Equals("")) writer.WriteLine("" + row["Title"].ToString() + ""); else writer.WriteLine(String.Format("{1}",row["URL"],row["Title"])); } writer.WriteLine("

"); } } }