using System; using System.Data; using yaf.pages; namespace yaf.controls { /// /// Summary description for ForumJump. /// public class ForumJump : BaseControl, System.Web.UI.IPostBackDataHandler { private void Page_Load( object sender, System.EventArgs e ) { if ( !Page.IsPostBack ) ForumID = ForumPage.PageForumID; } override protected void OnInit( EventArgs e ) { this.Load += new System.EventHandler( this.Page_Load ); base.OnInit( e ); } private int ForumID { get { return ( int ) ViewState ["ForumID"]; } set { ViewState ["ForumID"] = value; } } #region IPostBackDataHandler public virtual bool LoadPostData( string postDataKey, System.Collections.Specialized.NameValueCollection postCollection ) { int nForumID; try { nForumID = int.Parse( postCollection [postDataKey] ); if ( nForumID == ForumID ) return false; } catch ( Exception ) { return false; } ForumID = nForumID; return true; } public virtual void RaisePostDataChangedEvent() { if ( ForumID > 0 ) Forum.Redirect( Pages.topics, "f={0}", ForumID ); #if TODO else Forum.Redirect(Pages.forum,"c={0}",-ForumID); #endif } #endregion protected override void Render( System.Web.UI.HtmlTextWriter writer ) { DataTable dt; string cachename = String.Format( "forumjump_{0}_{1}", ForumPage.User.Name, ForumPage.User.IsAuthenticated ); if ( Page.Cache [cachename] != null ) { dt = ( DataTable ) Page.Cache [cachename]; } else { dt = DB.forum_listall_sorted( ForumPage.PageBoardID, ForumPage.PageUserID ); Page.Cache [cachename] = dt; } writer.WriteLine( String.Format( "" ); } } }