using System;
using System.Data;
using System.Data.SqlClient;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
namespace Yin{
public partial class MessageView : System.Web.UI.Page{
private void Page_Load(object sender, System.EventArgs e){
if (!IsPostBack){
myDataBind();
}
}
#region 该过程用来绑定数据
public void myDataBind(){
//首先建立DataSet对象,注意这里读取了全部数据
string strSql = "select * from RestoreInfo order by rId desc";
int parms;
if (Request.QueryString["id"] == null || Request.QueryString["id"] == "")
parms = 1;
else
parms = int.Parse(Request.QueryString["id"]);
SqlDataAdapter adp = SqlHelper.ExecuteAdapter(CommandType.Text, strSql, null);
DataSet dst = new DataSet();
adp.Fill(dst, "RestoreInfo");
DataView dv = new DataView();
dv.Table = dst.Tables[0];
dv.RowFilter = "mId = "+parms+"and isView = "+true;
//然后建立PagedDataSource对象
PagedDataSource pgds = new PagedDataSource();
pgds.DataSource = dv;//dst.Tables["RestoreInfo"].DefaultView; //设置pgds的数据源
pgds.AllowPaging=true; //允许分页
pgds.PageSize=5; //每页显示9条记录
pgds.CurrentPageIndex=int.Parse(lblPageIndex.Text); //设置当前显示数据页,从隐藏标签中读取
lblPageCount.Text=pgds.PageCount.ToString(); //将总页数保存到隐藏标签中
//将PagedDataSource对象绑定到DataList控件
myDataList.DataSource=pgds; //指定数据源为PagedDataSource对象
myDataList.DataBind(); //执行绑定
//显示当前页和总页码
lblPage.Text = (pgds.CurrentPageIndex+1) + "/" + pgds.PageCount;
}
#endregion
#region 客户单击页码LinkButton触发该事件
public void lbtn_Click(Object sender, EventArgs e){
//下面首先从隐藏标签中读取原来显示的页码和总页数
int intPageIndex = int.Parse(lblPageIndex.Text); //读取原来显示第几页
int intPageCount = int.Parse(lblPageCount.Text); //读取总页数
//下面根据单击按钮设定新的显示页码
String arg = ((LinkButton)sender).CommandName.ToString();
//((Button)sender).CommandName == "b1"
switch(arg){
case "First":
intPageIndex = 0;
break;
case "Prev":
if(intPageIndex>0)
intPageIndex -=1;
break;
case "Next":
if(intPageIndex<intPageCount-1)
intPageIndex +=1;
break;
case "Last":
intPageIndex = intPageCount-1;
break;
}
//下面将新的显示页码保存到隐藏标签中
lblPageIndex.Text=intPageIndex.ToString();
//下面调用数据,重新绑定页面
myDataBind();
}
#endregion
#region 当客户填写页码并单击GO按钮时执行该过程
public void btnPage_Click(Object sender, EventArgs e){
//下面首先从隐藏标签中读取总页数
int intPageCount = int.Parse(lblPageCount.Text); //读取总页数
//下面获取客户填写的页码,并处理使其符合要求
int intPageIndex = int.Parse(txtPage.Text);
if (intPageIndex < 1)
intPageIndex = 0; //如果客户填写了小于1的页码,则显示首页
else if (intPageIndex > intPageCount)
intPageIndex = intPageCount - 1; //如果填写了大于实际页面的数字,则显示末页
else
intPageIndex = intPageIndex - 1; //因为索引从0开始,所以减1
txtPage.Text = ""; //清空文本框
//下面将要显示的页码保存到隐藏标签中
lblPageIndex.Text = intPageIndex.ToString();
//下面重新绑定数据
myDataBind();
}
#endregion
#region 留言函数
protected void Button1_Click(object sender, EventArgs e){
int cMid = int.Parse(Request.Params["id"]);
string cAuthor, cContent, cHead, cEmail, cTime, cIp;
if (Session["uName"] != null)
cAuthor = Session["uName"].ToString();
else
{
cAuthor = "";
ClientScript.RegisterStartupScript(this.GetType(), "err", "<script>alert('请先登录才能留言');location.href='Message.aspx';</script>");
}
cHead = "image/ima/dsa.jpg";
cTime = DateTime.Now.ToString();//Now;
cIp = Request.ServerVariables["REMOTE_ADDR"];
String strSql = "insert into RestoreInfo (mId,rAuthor,rContent,rHaed,rEmail,rTime,rIp) values(@mId,@Author,@Content,@Head,@Email,@Time,@Ip)";
SqlParameter [] parms = { new SqlParameter("@mId",SqlDbType.Int),
new SqlParameter("@Author",SqlDbType.VarChar,15),
new SqlParameter("@Content",SqlDbType.VarChar,8000),
new SqlParameter("@Head",SqlDbType.VarChar,50),
new SqlParameter("@Email",SqlDbType.VarChar,50),
new SqlParameter("@Time",SqlDbType.VarChar,20),
new SqlParameter("@Ip",SqlDbType.VarChar,16)};
parms[0].Value = cMid;
parms[1].Value = cAuthor;
parms[2].Value = TextBox2.Text;
parms[3].Value = cHead;
parms[4].Value = TextBox3.Text;
parms[5].Value = cTime;
parms[6].Value = cIp;
int val = SqlHelper.ExecuteNonQuery(CommandType.Text, strSql, parms);
if (val > 0)
ClientScript.RegisterStartupScript(typeof(string), "", "<script>alert('发表意见成功');location.href='MessageView.aspx?id='+cMid;</script>");
else
ClientScript.RegisterStartupScript(typeof(string), "", "<script>alert('留言过程中发生错误');location.href='MessageView.aspx;</script>");
}
#endregion
}
}