distarea.ascx.cs

来自「基于Asp.net、MS sql sever 2000、C# 论坛系统源码」· CS 代码 · 共 89 行

CS
89
字号
namespace Stella.Web.Controls
{
	using System;
	using System.Data;
	using System.Drawing;
	using System.Web;
	using System.Collections;
	using System.Web.UI.WebControls;
	using System.Web.UI.HtmlControls;

	/// <summary>
	///		DistArea 的摘要说明。
	/// </summary>
	public class DistArea : System.Web.UI.UserControl
	{
		protected System.Web.UI.WebControls.Label dname;
		protected System.Web.UI.WebControls.Repeater themes;

		private void Page_Load(object sender, System.EventArgs e)
		{
		}

		#region Web 窗体设计器生成的代码
		override protected void OnInit(EventArgs e)
		{
			//
			// CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
			//
			InitializeComponent();
			base.OnInit(e);
		}
		
		/// <summary>
		///		设计器支持所需的方法 - 不要使用代码编辑器
		///		修改此方法的内容。
		/// </summary>
		private void InitializeComponent()
		{
			this.themes.ItemDataBound += new System.Web.UI.WebControls.RepeaterItemEventHandler(this.themes_ItemDataBound);
			this.Load += new System.EventHandler(this.Page_Load);

		}
		#endregion

		public string Dname
		{
			get{return this.dname.Text;}
			set{this.dname.Text=value;}
		}

		private ArrayList themeData;

		public ArrayList ThemeData
		{
			get{return this.themeData;}
			set
			{
				this.themeData=value;
				//在这里进行初始化,因为换页、回复等操作会postback
				//这个时候会先引发load,从而把空值绑到控件
				this.themes.DataSource=themeData;
				this.themes.DataBind();			
			}
		}

		private Hashtable tops;
		private Stella.Web.ProcessFlow.CacheController cc;
		private Hashtable ms;

		private void themes_ItemDataBound(object sender, System.Web.UI.WebControls.RepeaterItemEventArgs e)
		{
			Stella.Web.Controls.ThemeArea theme=(Stella.Web.Controls.ThemeArea)e.Item.FindControl("theme");
			theme.ThemeValue=(Stella.Model.Theme)e.Item.DataItem;

			if(cc==null)
				cc=new Stella.Web.ProcessFlow.CacheController();
			if(tops==null)
				tops=cc.GetCachedNewTopics();
			if(ms==null)
				ms=cc.GetCachedThemeManagerList();

			int tid=((Stella.Model.Theme)e.Item.DataItem).Tid;
			theme.TopicValue=(Stella.Model.Topic)tops[tid];
			theme.Managers=(ArrayList)ms[tid];
		}
		
	}
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?