discussion.aspx.cs

来自「ASP C#代码实例 适合初学人士学习使用」· CS 代码 · 共 207 行

CS
207
字号
using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;

namespace Example_10_5
{
	/// <summary>
	/// WebForm1 的摘要说明。
	/// </summary>
	public class Discussion : System.Web.UI.Page
	{
		protected System.Web.UI.WebControls.Label ReaderNum;
		protected System.Web.UI.WebControls.Panel Panel2;
		protected System.Web.UI.WebControls.Label Title;
		protected System.Web.UI.WebControls.Panel Panel3;
		protected System.Web.UI.WebControls.DataGrid myDataGrid;
		protected System.Web.UI.WebControls.Label DiscussionTile;
		protected System.Web.UI.WebControls.Panel replyTitle;
		protected System.Web.UI.WebControls.TextBox UserName;
		protected System.Web.UI.WebControls.LinkButton Registerlbt;
		protected System.Web.UI.WebControls.TextBox Password;
		protected System.Web.UI.WebControls.LinkButton GetPwdlbt;
		protected System.Web.UI.WebControls.TextBox Body;
		protected System.Web.UI.WebControls.CheckBox isM;
		protected System.Web.UI.WebControls.CheckBox isN;
		protected System.Web.UI.WebControls.Button showbtn;
		protected System.Web.UI.WebControls.Button viewbtn;
		protected System.Web.UI.WebControls.Button clearbtn;
	
		private int nDisTitleID = 0;
		private int nAreaID     = 0;	
		private int nShowOrder  = 0;

		private void Page_Load(object sender, System.EventArgs e)
		{			
			if(Request.Params["TitleID"] != null)
			{
				nDisTitleID = Int32.Parse(Request.Params["TitleID"].ToString());
			}
			if(Request.Params["DisAreaID"] != null)
			{
				nAreaID = Int32.Parse(Request.Params["DisAreaID"].ToString());
			}
			if(!Page.IsPostBack)
			{
				BindReplyData();

				UpdateLookUserCount();
			}
		}

		private void BindReplyData()
		{
			if(nDisTitleID > 0)
			{
				TitleDB title = new TitleDB();
				SqlDataReader rectd = title.GetSingleTitle(nDisTitleID);
				
				if(rectd.Read())
				{
					//设置讨论的主题
					DiscussionTile.Text = Title.Text = rectd["Title"].ToString();
					ReaderNum.Text = rectd["LookNum"].ToString();
				}
				rectd.Close();

				ReplyDB reply = new ReplyDB();
				SqlDataReader recr = reply.GetDiscussionDetail(nDisTitleID);

				myDataGrid.DataSource = recr;
				myDataGrid.DataBind();

				recr.Close();

				SqlDataReader rect = reply.GetTitleReplyCount(nDisTitleID);

				if(rect.Read())
				{
					nShowOrder = Int32.Parse(rect["ReplyCount"].ToString());
				}
				rect.Close();
			}
		}

		private void UpdateLookUserCount()
		{
			if(nDisTitleID > 0)
			{
				TitleDB title = new TitleDB();

				try
				{
					title.UpdateTitleLookCount(nDisTitleID);
				}
				catch(Exception ex)
				{
					string sRawURL = Request.RawUrl;

					if(sRawURL.IndexOf("?") > -1)
					{
						sRawURL = sRawURL.Substring(0,sRawURL.IndexOf("?"));
					}				
					Response.Redirect("~/DesktopModules/ErrorPage.aspx?ErrorUrl=" + sRawURL + "&ErrorMessage=" + ex.Message.Replace("\n"," "));
				}
			}
		}

		public String FormatShowOrder(int nShowOrder)
		{
			if(nShowOrder == 0)
			{
				return("楼&nbsp;&nbsp;  主");
			}
			else
			{
				return("第" + "<font class=NumberText>" + nShowOrder + "</font>" + "楼");
			}
		}

		public String FormatReplyText(String sReplyText)
		{
			return(sReplyText.Replace("\n","<br>"));	
		}

		private void Registerlbt_Click(object sender, System.EventArgs e)
		{
			Response.Redirect("~/AboutRegister.aspx");		
		}

		private void GetPwdlbt_Click(object sender, System.EventArgs e)
		{
			Response.Redirect("~/GetPassword.aspx");	
		}

		private void showbtn_Click(object sender, System.EventArgs e)
		{
			ReplyDB reply = new ReplyDB();

			if(Body.Text.Trim() != "")
			{
				try
				{
					reply.AddTitleReply(nDisTitleID,Body.Text);	
				}
				catch(Exception ex)
				{
					string sRawURL = Request.RawUrl;

					if(sRawURL.IndexOf("?") > -1)
					{
						sRawURL = sRawURL.Substring(0,sRawURL.IndexOf("?"));
					}				
					Response.Redirect("~/DesktopModules/ErrorPage.aspx?ErrorUrl=" + sRawURL + "&ErrorMessage=" + ex.Message.Replace("\n"," "));
				}

				Response.Redirect("~/Discussion.aspx?TitleID=" + nDisTitleID);                    
			}
		}

		private void clearbtn_Click(object sender, System.EventArgs e)
		{
			Body.Text = "";
		}

		private void lbtDiscussion_Click(object sender, System.EventArgs e)
		{
			Response.Redirect("~/BBSDefault.aspx");
		}

		private void lbtDiscussionList_Click(object sender, System.EventArgs e)
		{
			Response.Redirect("~/DiscussionArea.aspx?DisAreaID=" + nAreaID);
		}

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

		}
		#endregion
	}
}

⌨️ 快捷键说明

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