📄 board.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.OleDb;
namespace txl
{
//该源码下载自www.51aspx.com(51aspx.com)
/// <summary>
/// board 的摘要说明。
/// </summary>
public partial class board : System.Web.UI.Page
{
OleDbConnection cn;
OleDbCommand cmd;
OleDbDataReader dr;
OleDbDataAdapter da;
DataSet ds;
string strConn,strSQL;
int i;
int pagesize=8;//设置每页的留言数
public int RsCount()//计算共有多少条记录
{
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()//计算共有多少页
{
if(RsCount()%pagesize==0)
return RsCount()/pagesize;
else
return RsCount()/pagesize+1;
}
public void myBind(int PgNo)//根据当前页(PgNo)绑定数据源
{
int rsBegin,rsEnd,n;
string[] rsPage=new string[9];
rsEnd=PgNo*pagesize-1;
rsBegin=(PgNo-1)*pagesize;
if(rsEnd>=RsCount())
rsEnd=RsCount()-1;
//打开数据源,读出所有数据
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>";//添加贴子状态图片
if(Session["uid"].ToString()==dr[0].ToString()|Session["uid"].ToString()==dr[1].ToString())//为管理员添加固顶选项
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()+">[发言置顶]</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())//为管理员和贴子作者添加编辑删除选项
{
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();
//生成临时表
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++)//填充临时表
{
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);
}
//用生成的临时表绑定
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;
}
}
protected 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:该调用是 ASP.NET Web 窗体设计器所必需的。
//
InitializeComponent();
base.OnInit(e);
}
/// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
/// 此方法的内容。
/// </summary>
private void InitializeComponent()
{
}
#endregion
protected 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;
}
}
}
protected 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();
}
protected 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();
}
protected void lbtFirst_Click(object sender, System.EventArgs e)
{
ViewState["pageindex"]=1;
myBind((int)ViewState["pageindex"]);
cmdState((int)ViewState["pageindex"]);
lblCur.Text=ViewState["pageindex"].ToString();
}
protected void lbtLast_Click(object sender, System.EventArgs e)
{
ViewState["pageindex"]=PgCount();
myBind((int)ViewState["pageindex"]);
cmdState((int)ViewState["pageindex"]);
lblCur.Text=ViewState["pageindex"].ToString();
}
protected 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();
}
protected 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();
}
protected 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();
}
protected 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();
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -