按钮单击后 Page_load事件内的代码 会不会运行

解决方案 »

  1.   

    比如 我在Page_load 事件里 添加了  读取数据库并显示出来 的代码,然后我在一个按钮的单击事件里 添加了 增加数据库记录的代码,单击按钮后执行插入成功,为什么page_load事件里的数据库读取代码 不能把新添加的记录 读取并显示出来呢?下面是我得代码,请各位看看!page_load 代码: protected void Page_Load(object sender, EventArgs e)
        {
                       //读取数据库:建立数据库连接
                string MY_connString = ConfigurationManager.ConnectionStrings["web_access"].ConnectionString;
                OleDbConnection MY_conn = new OleDbConnection(MY_connString);
                MY_conn.Open();            //建立命令执行
                OleDbCommand MY_comm = new OleDbCommand();
                MY_comm.CommandText = "select * from web order by addDate desc";
                MY_comm.CommandType = CommandType.Text;
                MY_comm.Connection = MY_conn;            //建立数据返回
                OleDbDataReader my_oleddr = MY_comm.ExecuteReader();            //把返回的结果存入listitem
                if (my_oleddr.HasRows)
                {                while (my_oleddr.Read())
                    {                    ListItem lt = new ListItem(my_oleddr["name"].ToString(), my_oleddr["url"].ToString());
                        ListBox1.Items.Add(lt);
                    }
                }
                else
                {
                    ListBox1.Visible = false;
                    lblts.Visible = true;            }
                MY_conn.Close();
                MY_comm.Clone();
                my_oleddr.Close();
            
                }按钮事件:
    protected void Button2_Click(object sender, EventArgs e)
        {
            //数据连接
            string my_connstring =ConfigurationManager .ConnectionStrings ["web_access"].ConnectionString ;        OleDbConnection my_conn = new OleDbConnection(my_connstring);
            my_conn.Open();        //命令
            string web_name, web_url;
            web_name = txtName.Text;
            web_url = txtUrl.Text;
            OleDbCommand my_comm = new OleDbCommand();
            my_comm.CommandText = "insert into web(name,url) values('"+web_name  +"','"+web_url  +"')";
            my_comm.CommandType = CommandType.Text;
            my_comm.Connection = my_conn;
            my_comm.ExecuteNonQuery();
        }
      

  2.   

    先运行 Page_Load,再运行Button2_Click,你插入新数据后后当然就不会更新了。
      

  3.   

    在Page_Load事件里,把数据绑定到listbox的操作,放在if (!IsPostBack)里,
    在按钮事件里,更新数据库后再绑定一次
      

  4.   

    protected void Page_Load(object sender, EventArgs e)
        {
           
    if(!Page.IsPostBack) //
    {
                //读取数据库:建立数据库连接
                string MY_connString = ConfigurationManager.ConnectionStrings["web_access"].ConnectionString;
                OleDbConnection MY_conn = new OleDbConnection(MY_connString);
                MY_conn.Open();            //建立命令执行
                OleDbCommand MY_comm = new OleDbCommand();
                MY_comm.CommandText = "select * from web order by addDate desc";
                MY_comm.CommandType = CommandType.Text;
                MY_comm.Connection = MY_conn;            //建立数据返回
                OleDbDataReader my_oleddr = MY_comm.ExecuteReader();            //把返回的结果存入listitem
                if (my_oleddr.HasRows)
                {                while (my_oleddr.Read())
                    {                    ListItem lt = new ListItem(my_oleddr["name"].ToString(), my_oleddr["url"].ToString());
                        ListBox1.Items.Add(lt);
                    }
                }
                else
                {
                    ListBox1.Visible = false;
                    lblts.Visible = true;            }
                MY_conn.Close();
                MY_comm.Clone();
                my_oleddr.Close();
            
            
         }
        }
    在page_load事件中加if判断
    if(!Page.Ispostback){
    ...//加代码
    ...
    ...
    }