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

📄 default.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>
	/// _Default 的摘要说明。
	/// </summary>
	public class _Default : 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 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.Label LabMessage;
		protected System.Web.UI.WebControls.DropDownList ddlJumpToPageNum;
	
		private void Page_Load(object sender, System.EventArgs e)
		{
			// 在此处放置用户代码以初始化页面
			SqlConnection conn = new SqlConnection();
			conn.ConnectionString = App_Data.ClassConnection.CONN_STRING;
			conn.Open();
			

			if(!Page.IsPostBack)
			{
				//获得recNum的数目
				SqlCommand cmd = new SqlCommand("select count(*) from articles",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 articles",con);
			DataSet ds=new DataSet();
			da.Fill(ds,(this.curPageNo-1) * this.pageRecNum,this.pageRecNum,"articles");

			DataList1.DataSource=ds.Tables["articles"];
			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.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_ItemCommand(object source, System.Web.UI.WebControls.DataListCommandEventArgs e)
		{
			if(e.CommandName == "select")
			{
				DataList1.SelectedIndex = e.Item.ItemIndex;
				this.DataBindDataList();
			}

			if(e.CommandName == "detail")
			{
				//Response.Write("成功");

				int num;
				string articleId = e.CommandArgument.ToString();

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

				SqlCommand cmd = new SqlCommand("select max(num) from articles where articleID="+articleId,con);
				SqlDataReader reader = cmd.ExecuteReader();
				if(reader.Read())
				{
					num = reader.GetInt32(0) + 1;
				}
				else
				{
					num = 1;
					Response.Write("sss");
				}
				reader.Close();
				Response.Write(num);

				SqlCommand cmd2 = new SqlCommand("update articles set num="+num+" where articleID='"+articleId+"'",con);
				cmd2.ExecuteNonQuery();

				con.Close();

				Response.Redirect("articleDetail.aspx?articleId="+articleId);

//				Session["articleId"] = "";
//				Session["articleId"] = articleId;
//				Response.Redirect("articleDetail.aspx");
				
			}
		}

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

⌨️ 快捷键说明

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