加载事件问题

本文关键字:问题 事件 加载 | 更新日期: 2023-09-27 17:57:59

当我想更新数据库中的一行时,遇到了一个问题。更新的页面也添加了一个客户端,但问题是,当页面加载检测到按下了更新按钮时,它似乎一直在加载变量,我无法更新数据库。

public partial class CustomerInput : System.Web.UI.Page
{
    string update, Id, Name, Address, Suburb, Postcode, Age, Email;
    protected void Page_Load(object sender, EventArgs e)
    {
        update = Request.QueryString["Update"];
        if (update == "true")
        {
            SqlConnection connection = new SqlConnection("server=localhost; uid=xxxx; pwd=xxxx; database=Customer");
            Button1.Text = "Update";
            Id = Request.QueryString["Id"];
            connection.Open();
            SqlCommand command = new SqlCommand("Select * from Customer where Id = " + Id, connection);
            SqlDataReader read = command.ExecuteReader();
            read.Read();
            TextBox1.Text = read[1].ToString();
            TextBox2.Text = read[2].ToString();
            TextBox3.Text = read[3].ToString();
            TextBox4.Text = read[4].ToString();
            TextBox5.Text = read[5].ToString();
            TextBox6.Text = read[6].ToString();
            connection.Close();
            update = string.Empty;
        }
    }
    protected void Button1_Click(object sender, EventArgs e)
    {
        SqlConnection connection = new SqlConnection("server=localhost; uid=xxxx; pwd=xxxx; database=Customer");
        if (Button1.Text == "Update")
        {
            connection.Open();
            SqlCommand command;
            Name = TextBox1.Text;
            Address = TextBox2.Text;
            Suburb = TextBox3.Text;
            Postcode = TextBox4.Text;
            Age = TextBox5.Text;
            Email = TextBox6.Text;

            command = new SqlCommand("UPDATE Customer SET Name = " + "'" + Name + "', " + "Address = " + "'" + Address + "', " + "Suburb = " + "'" + Suburb + "', "
                    + "Postcode = " + "'" + Postcode + "', " + "Age = " + "'" + Age + "', " + "Email = " + "'" + Email + "' " + "Where Id =" + Id, connection);
            command.ExecuteNonQuery();
            connection.Close();
        }
        if (Button1.Text == "New Client")
        {
            Name = TextBox1.Text;
            Address = TextBox2.Text;
            Suburb = TextBox3.Text;
            Postcode = TextBox4.Text;
            Age = TextBox5.Text;
            Email = TextBox6.Text;
            Response.Write("Blah");
            SqlCommand command = new SqlCommand("INSERT INTO Customer VALUES (" + "'" + Name + "'" + ", " +  "'" + Address + "'"  + ", " +  "'" + Suburb + "'"  + ", " 
                +  "'" + Postcode + "'"  + ", " +  "'" + Age + "'"  + ", " +  "'" + Email + "'"  + ")", connection);
            command.ExecuteNonQuery();
        }
        Button1.Text = "New Client";
    }
}

}

加载事件问题

在页面加载事件开始时,您需要添加一个if语句来检查这是否是第一次加载页面:

示例:

if (!IsPostBack)
{
    ... add your code here
}

我想您需要使用Page.IsPostBack:

if (Page.IsPostBack)
{
     // Do Something ..
{
else
{
     // Do something else ..
}