代码之家  ›  专栏  ›  技术社区  ›  Greg McNulty

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

  •  1
  • Greg McNulty  · 技术社区  · 15 年前
    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() 正在重新加载页上执行。

    2 回复  |  直到 7 年前
        1
  •  3
  •   Chris    15 年前

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

        2
  •  1
  •   Josh    15 年前

    重新加载页面是什么意思?如果单击该按钮,然后在浏览器上单击“刷新”,将导致浏览器重新发布最后一篇文章,这意味着就服务器而言,该按钮将再次被单击(但是浏览器应该警告您重新发布。)

    如果它是在您第一次请求页面时发生的,那么您是否意外地在ASPX文件中连接了错误的事件处理程序?

    有疑问时, fire up Fiddler