📄 collectionlist.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>
/// 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 + -