TextBox值未更新

时间:2010-10-14 20:43:19

标签: c# .net asp.net textbox

我正在使用以下DropDownList事件从MS SQL Server 2005中选择一名员工,并在TextBox上显示员工的信息。

protected void employeeDropDownList_SelectedIndexChanged(object sender,
                                                                EventArgs e)
{
   EmployeeDAL employeeDAL = new EmployeeDAL();
   DataTable dataTable = employeeDAL.GetEmployeeData();
   for (int i = 1; i <= dataTable.Rows.Count; i++)
    {
      if (Convert.ToInt32(employeeDropDownList.SelectedValue) == i)
      {
        nameTextBox.Text = dataTable.Rows[i-1]["employee_Name"].ToString();
        useNameTextBox.Text=dataTable.Rows[i-1]["employee_UserName"].ToString();
        addressTextBox.Text=dataTable.Rows[i-1]["employee_Address"].ToString();
        break;
       }
     }
 }

然后我使用以下Button事件来更新员工信息。

protected void employeeUpdateButton_Click(object sender, EventArgs e)
{
   EmployeeDAL employeeDAL = new EmployeeDAL();
   EmployeeDAO employeeDAO = new EmployeeDAO
                         {
                      EmployeeID = Convert
                                  .ToInt32(employeeDropDownList.SelectedValue),
                      Name = nameTextBox.Text,
                      Username = useNameTextBox.Text,
                      Address = addressTextBox.Text,
                         };

        employeeDAL.UpdateEmployee(employeeDAO);
 }

但问题是...... TextBoxes的值没有变化。我的意思是TextBoxes保留了在employeeDropDownList_SelectedIndexChanged事件中分配的先前值。但为什么?我现在该怎么办?

3 个答案:

答案 0 :(得分:0)

在文本字段更新之前正在执行按钮单击,在两个事件处理程序中都设置了一个断点。把手表放在文本框和你的dao对象上,看看当yhou回发时它们是如何更新的。我真的不认为这是一个数据问题但是并没有完全打折它,至少对我来说,似乎是一个asp.net问题,在回发之间缓存文本框值。

答案 1 :(得分:0)

好吧,既然我们没有实施你的 EmployeeDAL 类,那么确切地知道问题是什么有点困难。以下是我要检查的一些事项:

  1. 确保 GetEmployeeData 功能未在内部实施某些缓存。
  2. 检查 UpdateEmployee 函数以验证它是否确实提交到数据库。有时更新函数只会更改内存中的内容,并且有一个不同的功能可以将这些更改实际提交到商店。
  3. employeeUpdateButton_Click 功能中,仔细检查您设置的值是否为 EmployeeID 属性。
  4. 运行SQL事件探查器以确切了解T-SQL命中数据库的内容。

答案 2 :(得分:0)

好的,我终于得到了答案,但无法解释。对于DropdownList,我使用了以下代码:

主要罪魁祸首是这个OnLoad事件。当我在没有此OnLoad事件的情况下运行应用程序时,我的问题就解决了。任何人都可以解释这个OnLoad事件的错误吗?