📄 default.aspx.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 + -