discussion.ascx.cs

来自「三层架构的.net源码三层架构的.net源码」· CS 代码 · 共 127 行

CS
127
字号
using System;
using System.Data;
using System.Data.SqlClient;
using System.Drawing;
using System.Web;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;

namespace MyStarterKit.Portal.Web
{
	/// <summary>
	///	Discussion 的摘要说明。
	///	显示讨论信息的用户模板控件
	/// </summary>
	public class Discussion : PortalModuleControl
	{
		protected System.Web.UI.WebControls.DataList TopLevelList;

		private void Page_Load(object sender, System.EventArgs e)
		{
			if (Page.IsPostBack == false) 
			{
				// 绑定数据
				BindList();
			}
		}

		/// <summary>
		/// 绑定数据
		/// </summary>
		private void BindList() 
		{
			// 获取本模块的全部讨论信息
			DiscussionDB discuss = new DiscussionDB();
			TopLevelList.DataSource = discuss.GetTopLevelMessages(ModuleId);
			TopLevelList.DataBind();
		}

		/// <summary>
		/// 展开项下的内容
		/// </summary>
		/// <returns></returns>
		protected SqlDataReader GetThreadMessages() 
		{
			DiscussionDB discuss = new DiscussionDB();
			SqlDataReader dr = discuss.GetThreadMessages(TopLevelList.DataKeys[TopLevelList.SelectedIndex].ToString());

			return dr;
		}

		/// <summary>
		/// 当TopLevelList中有任何按钮电击时触发(展开/折叠)
		/// </summary>
		/// <param name="Sender"></param>
		/// <param name="e"></param>
		private void TopLevelList_Select(object Sender, DataListCommandEventArgs e) 
		{

			// 判断命令是展开还是折叠
			String command = ((ImageButton)e.CommandSource).CommandName;

			if (command == "collapse") 
			{
				// 折叠
				TopLevelList.SelectedIndex = -1;
			}
			else 
			{
				// 展开
				TopLevelList.SelectedIndex = e.Item.ItemIndex;
			}

			BindList();
		}

		/// <summary>
		/// 讨论的链接
		/// </summary>
		/// <param name="item"></param>
		/// <returns></returns>
		protected String FormatUrl(int item) 
		{
			return "~/DesktopModules/DiscussDetails.aspx?ItemID=" + item + "&mid=" + ModuleId;
		}

		/// <summary>
		/// 决定是根节点还是其他(好决定显示+还是点)
		/// </summary>
		/// <param name="count"></param>
		/// <returns></returns>
		protected String NodeImage(int count) 
		{
			if (count > 0) 
			{
				// 非根节点,可以展开
				return "~/images/plus.gif";
			}
			else 
			{
				// 更节点,不能展开
				return "~/images/node.gif";
			}
		}

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

⌨️ 快捷键说明

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