关于加载事件问题

时间:2011-05-31 14:58:07

标签: c# asp.net sql onload-event

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

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";
    }
}

}

2 个答案:

答案 0 :(得分:2)

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

示例:

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

答案 1 :(得分:1)

我猜您需要使用Page.IsPostBack

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

}