为什么在ASP.NET中重新加载页面时会运行按钮事件功能?

时间:2010-07-06 01:03:32

标签: c# asp.net debugging

public partial class Stats : System.Web.UI.Page
{
    public SqlDataReader DataReader;
    public SqlCommand Command;
    string queryString = ("INSERT INTO UserData (UserProfileID, ConfidenceLevel, LoveLevel, HappinessLevel) VALUES ('a051fc1b-4f51-485b-a07d-0f378528974e', 1, 1, 1);");

    protected void Page_Load(object sender, EventArgs e)
    {
       LabelUserID.Text = Membership.GetUser().ProviderUserKey.ToString();
    }

    protected void Button1_Click(object sender, EventArgs e)
    {
        MySqlConnection database = new MySqlConnection();
        database.CreateConn();

        Command = new SqlCommand(queryString, database.Connection);
        Command.ExecuteNonQuery();        
    }
}

我不确定为什么Button1_Click()正在页面重新加载时执行。

我在函数中设置了一个断点,它确实击中了它并更新了DataBase。

2 个答案:

答案 0 :(得分:3)

如果单击按钮发回,然后在回发后重新加载,则基本上重复回发,这将导致按钮事件再次执行。如果您只是在GET请求后重新加载页面,则不会发生这种情况。

答案 1 :(得分:1)

你是什么意思重页加载?如果您单击该按钮,然后点击浏览器上的刷新,这将导致浏览器重新发布最后一个帖子,这意味着就服务器而言,再次单击该按钮。 (浏览器应警告您重新发布。)

如果它是在您第一次请求页面时发生的,那么您可能不小心在ASPX文件中连接了错误的事件处理程序?

如有疑问,请fire up Fiddler查看正在传输到服务器的内容。