为什么提交数据之后,显示页不刷新数据咧?急,急,在线等待!
为什么我点击“提交”,数据提交到数据库后,我使用response.redirect "xxx.aspx"到显示页,但是显示页还是原先的数据,只有刷新一次后才会出现之前提交的数据,有没有什么方法使用它直接更新数据的?急急!!!
以下是我的page_Load、BindData
void Page_Load(object sender, System.EventArgs e)
{
if(Session["UserName"]==null)
{
Response.Write("<script language='javascript' runat=server>");
Response.Write("alert('对不起,请先登录!');");
Response.Write("window.location.href='index.aspx';");
Response.Write("</script>");
Response.End();
}
else
{
pagesize=5; //每页5条记录
string StrConn="Provider=Microsoft.Jet.Oledb.4.0;Data Source="+Server.MapPath("guestbook.mdb");
myConn=new OleDbConnection(StrConn);
myConn.Open();
if(!Page.IsPostBack)
{
currentpage=0; //初始页为0
ViewState["CurrentPage"]=0;
recordcount=CalcuateRecord(); //计算记录总数
ViewState["RecordCount"]=recordcount;
pagecount=recordcount/pagesize; //计算页数
ViewState["PageCount"]=pagecount;
BindData();
}
}
}
public void BindData()
{
int startPage;
startPage=(currentpage * pagesize);
string SeleStr="Select message.id,message.content,message.addtime,message.img,message.username,reg.qq,reg.email,reg.homepage,reg.intro from message inner join reg on message.username=reg.username order by message.addtime desc";
OleDbDataAdapter Cmd=new OleDbDataAdapter(SeleStr,myConn);
DataSet ds=new DataSet();
Cmd.Fill(ds,startPage,pagesize,"message");
message.DataSource=ds;
message.DataBind();
L_Cuttent.Text=(currentpage+1).ToString();
L_PageCount.Text=(pagecount+1).ToString();
L_Count.Text=recordcount.ToString();
}
以下是提交数据的按钮!
private void add_Click(object sender, System.EventArgs e)
{
if(Page.IsValid)
{
string strConn="Provider=Microsoft.Jet.Oledb.4.0;Data Source="+Server.MapPath("guestbook.mdb");
OleDbConnection myConn=new OleDbConnection(strConn);
myConn.Open();
string sqlstr="select * from message where username='"+Session["UserName"]+"' and content like '"+content.Text+"'";
OleDbCommand myCommand=new OleDbCommand(sqlstr,myConn);
OleDbDataReader myReader=myCommand.ExecuteReader();
if(myReader.Read())
{
Response.Write("<script language='javascript' runat=server>");
Response.Write("alert('对不起,不能重复发同样的留言')");
Response.Write("</script>");
myReader.Close();
}
else
{
myReader.Close();
string myicon;
myicon="";
int icon_no;
icon_no=RB_List.SelectedIndex;
switch(icon_no)
{
case 0:
myicon="icon1.gif";
break;
case 1:
myicon="icon2.gif";
break;
case 2:
myicon="icon3.gif";
break;
case 3:
myicon="icon4.gif";
break;
case 4:
myicon="icon5.gif";
break;
case 5:
myicon="icon6.gif";
break;
case 6:
myicon="icon7.gif";
break;
case 7:
myicon="icon8.gif";
break;
}
string sql="insert into message(username,img,content,addtime) values ('"+Session["UserName"]+"','"+myicon+"','"+Server.HtmlEncode(content.Text)+"','"+DateTime.Now+"')";
myCommand=new OleDbCommand(sql,myConn);
myCommand.ExecuteNonQuery();
Response.Redirect("showmessage.aspx");
}
}
}