⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 collectionlist.aspx.cs

📁 RSS新闻订阅浏览系统
💻 CS
字号:
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 WebNews
{
	/// <summary>
	/// CollectionList 的摘要说明。
	/// </summary>
	public class CollectionList : System.Web.UI.Page
	{
		protected int pageNum = -1;		//页的数量
		protected int recNum = -1;		//总的行数
		protected int pageRecNum = -1;	//每页显示的行数
		protected int curPageNo = -1;	//当前页索引


		protected System.Web.UI.WebControls.Label LabUserName;
		protected System.Web.UI.WebControls.Label LabMessage;
		protected System.Web.UI.WebControls.Label LabRecNum;
		protected System.Web.UI.WebControls.Label LabCurPageNO;
		protected System.Web.UI.WebControls.Label LabPageNum;
		protected System.Web.UI.WebControls.Button BtnFirst;
		protected System.Web.UI.WebControls.Button BtnPreview;
		protected System.Web.UI.WebControls.Button BtnNext;
		protected System.Web.UI.WebControls.Button BtnLast;
		protected System.Web.UI.WebControls.DropDownList ddlPageRowNum;
		protected System.Web.UI.WebControls.DataList DataList1;
		protected System.Web.UI.WebControls.DropDownList ddlJumpToPageNum;


		public bool isLogin()
		{
			string userId = Session["userId"].ToString();

			SqlConnection conn = new SqlConnection();
			conn.ConnectionString = App_Data.ClassConnection.CONN_STRING;
			conn.Open();
			SqlCommand cmd = new SqlCommand("select * from users where userID='"+userId+"'",conn);
			SqlDataReader reader = cmd.ExecuteReader();
			if(reader.Read())
			{
				this.LabUserName.Text = "您好," + reader.GetString(1);
				reader.Close();
				return true;
			}
			else
			{
				reader.Close();
				return false;
			}
		}
	
		private void Page_Load(object sender, System.EventArgs e)
		{
			// 在此处放置用户代码以初始化页面
			bool login = isLogin();
			if(login)
			{
			}
			else
			{
				this.LabUserName.Text = "尚未登录";
				Response.Redirect("Login.aspx");
			}



			SqlConnection conn = new SqlConnection();
			conn.ConnectionString = App_Data.ClassConnection.CONN_STRING;
			conn.Open();
			

			if(!Page.IsPostBack)
			{
				//获得recNum的数目
				SqlCommand cmd = new SqlCommand("select count(*) from collection",conn);
				recNum = Convert.ToInt32(cmd.ExecuteScalar());


				if(recNum==0)
				{
					this.LabMessage.Text = "未找到相关记录";
				}
				else
				{

					//--------获得pageRecNum的数目
					this.ddlPageRowNum.Items.Clear();
					for(int i=1;i<=recNum;i++)
					{
						this.ddlPageRowNum.Items.Add(i.ToString());
					}
					if(recNum < 5)
					{
						this.ddlPageRowNum.SelectedIndex = recNum - 1;
					}
					else
					{
						this.ddlPageRowNum.SelectedIndex = 4;
					}

					//----------pageRecNum,pageNum
					pageRecNum = Convert.ToInt32(this.ddlPageRowNum.SelectedValue);
					if(Convert.ToInt32(recNum % pageRecNum) == 0)
					{
						pageNum = Convert.ToInt32(this.recNum/this.pageRecNum);
					}
					else
					{
						pageNum = Convert.ToInt32(this.recNum/this.pageRecNum) + 1;
					}
					this.ddlJumpToPageNum.Items.Clear();
					for(int i=1;i<=pageNum;i++)
					{
						this.ddlJumpToPageNum.Items.Add(i.ToString());
					}

					this.LabPageNum.Text = this.pageNum.ToString();
					ViewState["PageRowNum"] = this.pageRecNum;
					ViewState["RecNum"] = this.recNum;
					ViewState["PageNum"] = pageNum;

					//--------curPageNO
					curPageNo = 1;
					ViewState["CurPageNO"] = this.curPageNo;
				}
			}
			this.pageRecNum = Convert.ToInt32(ViewState["PageRowNum"]);
			this.recNum = Convert.ToInt32(ViewState["RecNum"]);
			this.curPageNo = Convert.ToInt32(ViewState["CurPageNO"]);
			this.pageNum = Convert.ToInt32(ViewState["PageNum"]);

			//--------pageNum
			if(this.pageRecNum==-1 || this.recNum==-1)
			{
				Response.Write("发生错误");
				Response.End();
			}
			if(this.curPageNo <= 1)
			{
				this.curPageNo = 1;
				this.BtnFirst.Enabled = false;
				this.BtnPreview.Enabled = false;
			}
			this.LabRecNum.Text = this.recNum.ToString();
			this.LabCurPageNO.Text = this.curPageNo.ToString();

			conn.Close();

			if(!Page.IsPostBack)
				DataBindDataList();
		}

		private void DataBindDataList()
		{
			SqlConnection con = new SqlConnection();
			 	
			con.ConnectionString = App_Data.ClassConnection.CONN_STRING;

			con.Open();

			SqlDataAdapter da=new SqlDataAdapter("select * from collection",con);
			DataSet ds=new DataSet();
			da.Fill(ds,(this.curPageNo-1) * this.pageRecNum,this.pageRecNum,"collection");

			DataList1.DataSource=ds.Tables["collection"];
			DataList1.DataBind();

			ds.Clear();
			con.Close();
		}

		#region Web 窗体设计器生成的代码
		override protected void OnInit(EventArgs e)
		{
			//
			// CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
			//
			InitializeComponent();
			base.OnInit(e);
		}
		
		/// <summary>
		/// 设计器支持所需的方法 - 不要使用代码编辑器修改
		/// 此方法的内容。
		/// </summary>
		private void InitializeComponent()
		{    
			this.DataList1.ItemCommand += new System.Web.UI.WebControls.DataListCommandEventHandler(this.DataList1_ItemCommand);
			this.DataList1.CancelCommand += new System.Web.UI.WebControls.DataListCommandEventHandler(this.DataList1_CancelCommand);
			this.DataList1.EditCommand += new System.Web.UI.WebControls.DataListCommandEventHandler(this.DataList1_EditCommand);
			this.DataList1.UpdateCommand += new System.Web.UI.WebControls.DataListCommandEventHandler(this.DataList1_UpdateCommand);
			this.DataList1.DeleteCommand += new System.Web.UI.WebControls.DataListCommandEventHandler(this.DataList1_DeleteCommand);
			this.DataList1.ItemDataBound += new System.Web.UI.WebControls.DataListItemEventHandler(this.DataList1_ItemDataBound);
			this.BtnFirst.Click += new System.EventHandler(this.BtnFirst_Click);
			this.BtnPreview.Click += new System.EventHandler(this.BtnPreview_Click);
			this.BtnNext.Click += new System.EventHandler(this.BtnNext_Click);
			this.BtnLast.Click += new System.EventHandler(this.BtnLast_Click);
			this.ddlPageRowNum.SelectedIndexChanged += new System.EventHandler(this.ddlPageRowNum_SelectedIndexChanged);
			this.ddlJumpToPageNum.SelectedIndexChanged += new System.EventHandler(this.ddlJumpToPageNum_SelectedIndexChanged);
			this.Load += new System.EventHandler(this.Page_Load);

		}
		#endregion


		private void ddlPageRowNum_SelectedIndexChanged(object sender, System.EventArgs e)
		{
			#region pageRowNum,pageNum

			//----------pageRecNum,pageNum
			pageRecNum = Convert.ToInt32(this.ddlPageRowNum.SelectedValue);
			if(Convert.ToInt32(recNum % pageRecNum) == 0)
			{
				pageNum = Convert.ToInt32(this.recNum/this.pageRecNum);
			}
			else
			{
				pageNum = Convert.ToInt32(this.recNum/this.pageRecNum) + 1;
			}
			this.ddlJumpToPageNum.Items.Clear();
			for(int i=1;i<=pageNum;i++)
			{
				this.ddlJumpToPageNum.Items.Add(i.ToString());
			}

			this.LabPageNum.Text = this.pageNum.ToString();
			ViewState["PageRowNum"] = this.pageRecNum;
			ViewState["PageNum"] = pageNum;

			//----------
			if(this.curPageNo > pageNum)
			{
				this.curPageNo = 1;
				ViewState["CurPageNO"] = this.curPageNo.ToString();
			}


			//------------
			this.BtnFirst.Enabled = true;
			this.BtnPreview.Enabled = true;
			this.BtnNext.Enabled = true;
			this.BtnLast.Enabled = true;
			if(this.curPageNo == 1)
			{
				this.BtnFirst.Enabled = false;
				this.BtnPreview.Enabled = false;
			}
			if(this.curPageNo == this.pageNum)
			{
				this.BtnNext.Enabled = false;
				this.BtnLast.Enabled = false;
			}

			//------------
			DataBindDataList();
			#endregion
		}

		#region 移动页面
		//显示第一页
		private void MoveFirst()
		{
			this.curPageNo = 1;
			ViewState["CurPageNO"] = this.curPageNo.ToString();
			DataBindDataList();

			//-----------
			this.BtnFirst.Enabled = false;
			this.BtnPreview.Enabled = false;
			this.BtnNext.Enabled = true;
			this.BtnLast.Enabled = true;
		}

		//显示上页
		private void MovePrevious()
		{
			this.curPageNo = this.curPageNo - 1;
			ViewState["CurPageNO"] = this.curPageNo.ToString();
			DataBindDataList();

			//-----------
			if(this.curPageNo == 1)
			{
				this.BtnFirst.Enabled = false;
				this.BtnPreview.Enabled = false;
			}
			this.BtnNext.Enabled = true;
			this.BtnLast.Enabled = true;
		}

		//显示下页
		private void MoveNext()
		{
			this.curPageNo = this.curPageNo + 1;
			ViewState["CurPageNO"] = this.curPageNo.ToString();
			DataBindDataList();

			//-----------
			this.BtnFirst.Enabled = true;
			this.BtnPreview.Enabled = true;
			if(this.curPageNo == this.pageNum)
			{
				this.BtnNext.Enabled = false;
				this.BtnLast.Enabled = false;
			}
		}

		//显示最后一页
		private void MoveLast()
		{
			this.curPageNo = this.pageNum;
			ViewState["CurPageNO"] = this.curPageNo.ToString();
			DataBindDataList();

			//-----------
			this.BtnFirst.Enabled = true;
			this.BtnPreview.Enabled = true;
			this.BtnNext.Enabled = false;
			this.BtnLast.Enabled = false;
		}
		#endregion


		private void BtnFirst_Click(object sender, System.EventArgs e)
		{
			MoveFirst();
		}

		private void BtnPreview_Click(object sender, System.EventArgs e)
		{
			MovePrevious();
		}

		private void BtnNext_Click(object sender, System.EventArgs e)
		{
			MoveNext();
		}

		private void BtnLast_Click(object sender, System.EventArgs e)
		{
			MoveLast();
		}

		private void ddlJumpToPageNum_SelectedIndexChanged(object sender, System.EventArgs e)
		{
			this.curPageNo = Convert.ToInt32(this.ddlJumpToPageNum.SelectedValue);
			this.DataBindDataList();
		}

		private void DataList1_DeleteCommand(object source, System.Web.UI.WebControls.DataListCommandEventArgs e)
		{
			int collectionId = Convert.ToInt32(e.CommandArgument.ToString());
	
			SqlConnection conn = new SqlConnection();
			conn.ConnectionString = App_Data.ClassConnection.CONN_STRING;
			conn.Open();

			SqlCommand cmd = new SqlCommand("delete from collection where collectionID="+collectionId,conn);
			cmd.ExecuteNonQuery();

			conn.Close();

			this.DataBindDataList();
		}

		private void DataList1_ItemCommand(object source, System.Web.UI.WebControls.DataListCommandEventArgs e)
		{
			
		}

		private void DataList1_CancelCommand(object source, System.Web.UI.WebControls.DataListCommandEventArgs e)
		{
			this.DataList1.SelectedIndex = -1;
			this.DataList1.EditItemIndex = -1;
			this.DataBindDataList();
		}

		private void DataList1_EditCommand(object source, System.Web.UI.WebControls.DataListCommandEventArgs e)
		{
			//设置当前编辑项的索引
			DataList1.EditItemIndex = e.Item.ItemIndex;
			this.DataBindDataList();
		}

		private void DataList1_UpdateCommand(object source, System.Web.UI.WebControls.DataListCommandEventArgs e)
		{
			int collectionId = Convert.ToInt32(e.CommandArgument.ToString());
	
			SqlConnection conn = new SqlConnection();
			conn.ConnectionString = App_Data.ClassConnection.CONN_STRING;
			conn.Open();

			string title = ((TextBox)e.Item.FindControl("TextTitle")).Text.ToString();
			string lab = ((TextBox)e.Item.FindControl("TextLab")).Text.ToString();
			string brief = ((TextBox)e.Item.FindControl("TextBrief")).Text.ToString();

			SqlCommand cmd = new SqlCommand("update collection set title='"+title+"',lab='"+lab+"',brief='"+brief+"' where collectionID="+collectionId,conn);
			cmd.ExecuteNonQuery();

			
			conn.Close();

			//----------
			DataList1.EditItemIndex = -1;
			this.DataBindDataList();
		}

		private void DataList1_ItemDataBound(object sender, System.Web.UI.WebControls.DataListItemEventArgs e)
		{
			if(e.Item.ItemType == ListItemType.Item)
			{
				Button btnDel = (Button)e.Item.FindControl("BtnDel1");
				btnDel.Attributes.Add("onclick","return confirm('确定要删除["+ DataBinder.Eval(e.Item.DataItem,"collectionID") + "]吗?')");
			}
			if(e.Item.ItemType == ListItemType.AlternatingItem)
			{
				Button btnDel2 = (Button)e.Item.FindControl("BtnDel2");
				btnDel2.Attributes.Add("onclick","return confirm('确定要删除["+ DataBinder.Eval(e.Item.DataItem,"collectionID") + "]吗?')");
			}
		}
	}
}

⌨️ 快捷键说明

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