日期:2014-05-17  浏览次数:20438 次

button的click事件获取textbox内容一直为空
源码:
数据库:

    private static string ConnString = "数据库连接字符串";
    private static void PrepareCommand(OleDbConnection conn, OleDbCommand cmd, string cmdText)
    {
        if (conn.State != ConnectionState.Open)
            conn.Open();
        cmd.Connection = conn;
        cmd.CommandType = CommandType.Text;
        cmd.CommandText = cmdText;
    }
    public static int GetSearch(string strSQL)
    {
        using (OleDbConnection conn = new OleDbConnection(ConnString))
        {
            OleDbCommand cmd = new OleDbCommand();
            PrepareCommand(conn, cmd, strSQL);
            return cmd.ExecuteNonQuery();
        }
    }

控件:
TextBoxText
ButtonModify
问题代码:

    protected void ButtonModify_Click(object sender, EventArgs e)
    {
        string strSQL = "update 表名 set 列名1='" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:") + "00',列名2='" + TextBoxText.Text + "' where 列名3 = '" + strKey + "'";
        GetSearch(strSQL);
        Response.Redirect(Request.Url.ToString());
    }

问题描述:
单击ButtonModify,设置断点后,发现TextBoxText.Text的值是空的,但是在Web页面上TextBoxText是已经赋值的。导致每次上传数据库后,列名2的数据均为空值。
请问是怎么回事呢?

------解决方案--------------------
是修改数据的时候出现空值吧,如果是的那就看看有没有加IsPostBack判断
------解决方案--------------------
page_load里添加 
if(!IsPostBack)
{
   //文本框赋值代码
}
------解决方案--------------------
debug一下,看ButtonModify_Click进去后 textbox有没有值,没有值的话 把前台代码发出来看看