日期:2014-05-18  浏览次数:20579 次

刷新页面和单击按钮怎么效果一样的
单击button将textbox里面的内容出入到数据库的table。

访问数据库是在button_click里面写的。

为什么我单击button插入一条数据之后,每次刷新页面都会再次插入数据?

C# code
//if (!Page.IsValid)
        //    return;
        
        //MembershipUser member= Membership.GetUser();
        //Guid currentUserId=(Guid)member.ProviderUserKey;

        //string conn =
        //    ConfigurationManager.ConnectionStrings["SecurityTutorialsConnectionString"].ConnectionString;
        //string insertsql = "Insert into GuestbookComments(Subject,Body,UserId) values(@Subject,@Body,@UserId)";

        //using (SqlConnection myConnection = new SqlConnection(conn))
        //{
        //    myConnection.Open();
        //    SqlCommand cmd = new SqlCommand(insertsql, myConnection);
        //    cmd.Parameters.AddWithValue("@UserId", currentUserId);
        //    cmd.Parameters.AddWithValue("@Subject", Subject.Text.Trim());
        //    cmd.Parameters.AddWithValue("@Body", Body.Text.Trim());
        //    cmd.ExecuteNonQuery();
        //    myConnection.Close();
        //}

        //Subject.Text = null;
        //Body.Text = null;


------解决方案--------------------
插入数据后 response.redirect();转向一下 刷新就不会提交了。
------解决方案--------------------
仔细看看刷新给你弹出的alert
你的数据又重新post了一遍,当然会再插入一次了
------解决方案--------------------
那是因为页面记录了你刚操作的事件 只有在插入成功之后 加上response.redirect(“本页面”);跳转 才可避免按F5不再执行上一次操作
这个问题碰到过,目前还没有发现有其他的解决方法