?? board.aspx.cs
字號(hào):
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.OleDb;
namespace txl
{
/// <summary>
/// board 的摘要說明。
/// </summary>
public class board : System.Web.UI.Page
{
protected System.Web.UI.WebControls.DataList dltBoard;
OleDbConnection cn;
OleDbCommand cmd;
OleDbDataReader dr;
OleDbDataAdapter da;
DataSet ds;
string strConn,strSQL;
protected System.Web.UI.WebControls.Label lblName;
protected System.Web.UI.WebControls.TextBox txtTheme;
protected System.Web.UI.WebControls.TextBox txtContent;
protected System.Web.UI.WebControls.Button btnOK;
protected System.Web.UI.WebControls.LinkButton lbtPre;
protected System.Web.UI.WebControls.LinkButton lbt1;
protected System.Web.UI.WebControls.LinkButton lbt2;
protected System.Web.UI.WebControls.LinkButton lbtN;
protected System.Web.UI.WebControls.LinkButton lbtNext;
protected System.Web.UI.WebControls.LinkButton lbtLast;
protected System.Web.UI.WebControls.Label lblAllcon;
int i;
protected System.Web.UI.WebControls.Label lblCur;
protected System.Web.UI.WebControls.Label lblTheme;
protected System.Web.UI.WebControls.Label lblContent;
protected System.Web.UI.WebControls.LinkButton lbt3;
protected System.Web.UI.WebControls.LinkButton lbtFirst;
int pagesize=8;//設(shè)置每頁的留言數(shù)
public int RsCount()//計(jì)算共有多少條記錄
{
strConn="Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+Server.MapPath("txl.aspx");
strSQL="select count(*) as rs from board where b_clid="+Page.Request["clid"].ToString()+" and b_delflag='0'";
cn=new OleDbConnection(strConn);
cn.Open();
cmd=new OleDbCommand(strSQL,cn);
dr=cmd.ExecuteReader();
if(dr.Read())
i=Convert.ToInt16(dr[0].ToString());
else
i=0;
cn.Close();
return i;
}
public int PgCount()//計(jì)算共有多少頁
{
if(RsCount()%pagesize==0)
return RsCount()/pagesize;
else
return RsCount()/pagesize+1;
}
public void myBind(int PgNo)//根據(jù)當(dāng)前頁(PgNo)綁定數(shù)據(jù)源
{
int rsBegin,rsEnd,n;
string[] rsPage=new string[9];
rsEnd=PgNo*pagesize-1;
rsBegin=(PgNo-1)*pagesize;
if(rsEnd>=RsCount())
rsEnd=RsCount()-1;
//打開數(shù)據(jù)源,讀出所有數(shù)據(jù)
strConn="Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+Server.MapPath("txl.aspx");
strSQL="select b_id,b_theme,b_uid,b_date,b_editer,b_edittime,b_cnt,b_top from board where b_clid="+Page.Request["clid"].ToString()+" and b_delflag='0' ORDER BY b_top,b_date DESC";
cn=new OleDbConnection(strConn);
cn.Open();
da=new OleDbDataAdapter(strSQL,cn);
ds=new DataSet();
da.Fill(ds,"board");
ds.Tables["board"].Columns.Add("editinfo");
ds.Tables["board"].Columns.Add("editurl");
ds.Tables["board"].Columns.Add("delurl");
ds.Tables["board"].Columns.Add("name");
ds.Tables["board"].Columns.Add("imgurl");
ds.Tables["board"].Columns.Add("topurl");
for(i=0;i<ds.Tables[0].Rows.Count;i++)
{
strSQL="select u_name from userinfo where u_id="+ds.Tables[0].Rows[i]["b_uid"].ToString();
cmd=new OleDbCommand(strSQL,cn);
dr=cmd.ExecuteReader();
while(dr.Read())
ds.Tables[0].Rows[i]["name"]=dr[0].ToString();
cmd.Dispose();
dr.Close();
}
for(i=0;i<ds.Tables[0].Rows.Count;i++)
if(ds.Tables[0].Rows[i]["b_editer"].ToString()!="0")
{
strSQL="select u_name from userinfo where u_id="+ds.Tables[0].Rows[i]["b_editer"].ToString();
cmd=new OleDbCommand(strSQL,cn);
dr=cmd.ExecuteReader();
while(dr.Read())
ds.Tables[0].Rows[i]["editinfo"]="[此貼最后由 <font color='#666666'>"+dr[0].ToString()+"</font> 在<font color='#666666'>"+ds.Tables[0].Rows[i]["b_edittime"].ToString()+"</font>編輯]";
cmd.Dispose();
dr.Close();
}
strSQL="select cl_m1,cl_m2 from classinfo where cl_id="+Page.Request["clid"].ToString();
cmd=new OleDbCommand(strSQL,cn);
dr=cmd.ExecuteReader();
while(dr.Read())
{
for(i=0;i<ds.Tables[0].Rows.Count;i++)
{
ds.Tables[0].Rows[i]["imgurl"]="<img src=image/"+ds.Tables[0].Rows[i]["b_top"].ToString()+".gif>";//添加貼子狀態(tài)圖片
if(Session["uid"].ToString()==dr[0].ToString()|Session["uid"].ToString()==dr[1].ToString())//為管理員添加固頂選項(xiàng)
if(ds.Tables[0].Rows[i]["b_top"].ToString()=="1")
ds.Tables[0].Rows[i]["topurl"]="<A href=lockmsg.aspx?msgid="+ds.Tables[0].Rows[i]["b_id"].ToString()+">[發(fā)言置頂]</A>";
else
ds.Tables[0].Rows[i]["topurl"]="<A href=ulockmsg.aspx?msgid="+ds.Tables[0].Rows[i]["b_id"].ToString()+">[取消置頂]</A>";
if(ds.Tables[0].Rows[i]["b_uid"].ToString()==Session["uid"].ToString()|Session["uid"].ToString()==dr[0].ToString()|Session["uid"].ToString()==dr[1].ToString())//為管理員和貼子作者添加編輯刪除選項(xiàng)
{
ds.Tables[0].Rows[i]["editurl"]="<A href=editmsg.aspx?msgid="+ds.Tables[0].Rows[i]["b_id"].ToString()+">[編輯]</A>";
ds.Tables[0].Rows[i]["delurl"]="<A href=delmsg.aspx?msgid="+ds.Tables[0].Rows[i]["b_id"].ToString()+">[刪除]</A>";
}
}
}
cmd.Dispose();
dr.Close();
strSQL="select u_name from userinfo where u_id="+Session["uid"].ToString();
cmd=new OleDbCommand(strSQL,cn);
dr=cmd.ExecuteReader();
while(dr.Read())
lblName.Text=dr[0].ToString();
cmd.Dispose();
dr.Close();
//生成臨時(shí)表
ds.Tables.Add("page");
ds.Tables["page"].Columns.Add("b_theme");
ds.Tables["page"].Columns.Add("imgurl");
ds.Tables["page"].Columns.Add("editinfo");
ds.Tables["page"].Columns.Add("b_cnt");
ds.Tables["page"].Columns.Add("editurl");
ds.Tables["page"].Columns.Add("delurl");
ds.Tables["page"].Columns.Add("topurl");
ds.Tables["page"].Columns.Add("name");
ds.Tables["page"].Columns.Add("b_date");
for(n=rsBegin;n<=rsEnd;n++)//填充臨時(shí)表
{
rsPage[0]=ds.Tables[0].Rows[n]["b_theme"].ToString();
rsPage[1]=ds.Tables[0].Rows[n]["imgurl"].ToString();
rsPage[2]=ds.Tables[0].Rows[n]["editinfo"].ToString();
rsPage[3]=ds.Tables[0].Rows[n]["b_cnt"].ToString();
rsPage[4]=ds.Tables[0].Rows[n]["editurl"].ToString();
rsPage[5]=ds.Tables[0].Rows[n]["delurl"].ToString();
rsPage[6]=ds.Tables[0].Rows[n]["topurl"].ToString();
rsPage[7]=ds.Tables[0].Rows[n]["name"].ToString();
rsPage[8]=ds.Tables[0].Rows[n]["b_date"].ToString();
ds.Tables[1].Rows.Add(rsPage);
}
//用生成的臨時(shí)表綁定
dltBoard.DataSource=ds.Tables["page"].DefaultView;
dltBoard.DataBind();
ds.Dispose();
cn.Close();
/*Page.Response.Write(rsBegin);
Page.Response.Write("<br>");
Page.Response.Write(rsEnd);*/
}
public void cmdState(int curPage)
{
if(curPage==1)
{
lbtFirst.Enabled=false;
lbtPre.Enabled=false;
}
else
{
lbtFirst.Enabled=true;
lbtPre.Enabled=true;
}
if(PgCount()>curPage)
{
lbtNext.Enabled=true;
lbtLast.Enabled=true;
}
else
{
lbtNext.Enabled=false;
lbtLast.Enabled=false;
}
/*if((curPage%2)==0)
{
lbt1.Enabled=true;
lbt1.Text=Convert.ToString(curPage-1);
lbt2.Enabled=false;
lbt2.Text=curPage.ToString();
if(PgCount()>curPage)
lbtN.Enabled=true;
else
lbtN.Enabled=false;
}
else
{
lbt1.Enabled=false;
lbt1.Text=curPage.ToString();
if(curPage==PgCount())
lbt2.Enabled=false;
else
lbt2.Enabled=true;
lbt2.Text=Convert.ToString(curPage+1);
if(PgCount()>(curPage+1))
lbtN.Enabled=true;
else
lbtN.Enabled=false;
}*/
switch(curPage%3)
{
case 0:
lbt1.Enabled=true;
lbt1.Text=Convert.ToString(curPage-2);
lbt2.Enabled=true;
lbt2.Text=Convert.ToString(curPage-1);
lbt3.Enabled=false;
lbt3.Text=curPage.ToString();
if(PgCount()>curPage)
lbtN.Enabled=true;
else
lbtN.Enabled=false;
break;
case 1:
lbt1.Enabled=false;
if(curPage>=PgCount())
{
lbt2.Enabled=false;
lbt3.Enabled=false;
}
else
{
lbt2.Enabled=true;
if(PgCount()<=(curPage+1))
lbt3.Enabled=false;
else
lbt3.Enabled=true;
}
lbt1.Text=curPage.ToString();
lbt2.Text=Convert.ToString(curPage+1);
lbt3.Text=Convert.ToString(curPage+2);
if(PgCount()>(curPage+2))
lbtN.Enabled=true;
else
lbtN.Enabled=false;
break;
case 2:
lbt2.Enabled=false;
lbt1.Enabled=true;
if(curPage>=PgCount())
lbt3.Enabled=false;
else
lbt3.Enabled=true;
lbt1.Text=Convert.ToString(curPage-1);
lbt2.Text=curPage.ToString();
lbt3.Text=Convert.ToString(curPage+1);
break;
}
}
private void Page_Load(object sender, System.EventArgs e)
{
// 在此處放置用戶代碼以初始化頁面
if(Session.Count==0) Page.Response.Redirect("default.aspx");
else
if(Session["uid"].ToString()=="") Page.Response.Redirect("default.aspx");
//Page.Response.Write("One time");
if(!Page.IsPostBack)
{
ViewState["pageindex"]=1;
myBind((int)ViewState["pageindex"]);
cmdState((int)ViewState["pageindex"]);
lblCur.Text=ViewState["pageindex"].ToString();
}
lblAllcon.Text=PgCount().ToString();
}
#region Web Form Designer generated code
override protected void OnInit(EventArgs e)
{
//
// CODEGEN:該調(diào)用是 ASP.NET Web 窗體設(shè)計(jì)器所必需的。
//
InitializeComponent();
base.OnInit(e);
}
/// <summary>
/// 設(shè)計(jì)器支持所需的方法 - 不要使用代碼編輯器修改
/// 此方法的內(nèi)容。
/// </summary>
private void InitializeComponent()
{
this.lbtFirst.Click += new System.EventHandler(this.lbtFirst_Click);
this.lbtPre.Click += new System.EventHandler(this.lbtPre_Click);
this.lbt1.Click += new System.EventHandler(this.lbt1_Click);
this.lbt2.Click += new System.EventHandler(this.lbt2_Click);
this.lbt3.Click += new System.EventHandler(this.lbt3_Click);
this.lbtN.Click += new System.EventHandler(this.lbtN_Click);
this.lbtNext.Click += new System.EventHandler(this.lbtNext_Click);
this.lbtLast.Click += new System.EventHandler(this.lbtLast_Click);
this.btnOK.Click += new System.EventHandler(this.btnOK_Click);
this.Load += new System.EventHandler(this.Page_Load);
}
#endregion
private void btnOK_Click(object sender, System.EventArgs e)
{
if((txtTheme.Text!="")&(txtContent.Text!=""))
{
strConn="Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+Server.MapPath("txl.aspx");
strSQL="Insert INTO board(b_theme,b_uid,b_cnt,b_delflag,b_clid) Values ('"+txtTheme.Text.Replace("<","<").Replace(">",">").Replace(" "," ").Replace("\n","<br>").Replace("'","")+"',"+Session["uid"].ToString()+",'"+txtContent.Text.Replace("'","")+"','0',"+Page.Request["clid"].ToString()+")";
cn=new OleDbConnection(strConn);
cmd=new OleDbCommand(strSQL,cn);
cn.Open();
cmd.ExecuteNonQuery();
cmd.Dispose();
cn.Close();
Page.Response.Redirect("board.aspx?clid="+Page.Request["clid"].ToString());
}
else
{
if(txtTheme.Text=="")
lblTheme.Visible=true;
else
{
lblContent.Visible=true;
lblTheme.Visible=false;
}
}
}
private void lbt2_Click(object sender, System.EventArgs e)
{
ViewState["pageindex"]=(((int)ViewState["pageindex"]+2)/3)*3-1;
myBind((int)ViewState["pageindex"]);
cmdState((int)ViewState["pageindex"]);
lblCur.Text=ViewState["pageindex"].ToString();
}
private void lbt1_Click(object sender, System.EventArgs e)
{
ViewState["pageindex"]=(((int)ViewState["pageindex"]+2)/3)*3-2;
myBind((int)ViewState["pageindex"]);
cmdState((int)ViewState["pageindex"]);
lblCur.Text=ViewState["pageindex"].ToString();
}
private void lbtFirst_Click(object sender, System.EventArgs e)
{
ViewState["pageindex"]=1;
myBind((int)ViewState["pageindex"]);
cmdState((int)ViewState["pageindex"]);
lblCur.Text=ViewState["pageindex"].ToString();
}
private void lbtLast_Click(object sender, System.EventArgs e)
{
ViewState["pageindex"]=PgCount();
myBind((int)ViewState["pageindex"]);
cmdState((int)ViewState["pageindex"]);
lblCur.Text=ViewState["pageindex"].ToString();
}
private void lbtN_Click(object sender, System.EventArgs e)
{
ViewState["pageindex"]=(((int)ViewState["pageindex"]+2)/3)*3+1;
myBind((int)ViewState["pageindex"]);
cmdState((int)ViewState["pageindex"]);
lblCur.Text=ViewState["pageindex"].ToString();
}
private void lbtPre_Click(object sender, System.EventArgs e)
{
ViewState["pageindex"]=(int)ViewState["pageindex"]-1;
myBind((int)ViewState["pageindex"]);
cmdState((int)ViewState["pageindex"]);
lblCur.Text=ViewState["pageindex"].ToString();
}
private void lbtNext_Click(object sender, System.EventArgs e)
{
ViewState["pageindex"]=(int)ViewState["pageindex"]+1;
myBind((int)ViewState["pageindex"]);
cmdState((int)ViewState["pageindex"]);
lblCur.Text=ViewState["pageindex"].ToString();
}
private void lbt3_Click(object sender, System.EventArgs e)
{
ViewState["pageindex"]=(((int)ViewState["pageindex"]+2)/3)*3;
myBind((int)ViewState["pageindex"]);
cmdState((int)ViewState["pageindex"]);
lblCur.Text=ViewState["pageindex"].ToString();
}
}
}
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -