c# - 文本框值未更新

标签 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;
       }
     }
 }

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

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 保留了以前在 employeeDropDownList_SelectedIndexChanged 事件中分配的值。但为什么?我现在该怎么办?

最佳答案

在更新文本字段之前执行按钮单击,在两个事件处理程序中放置一个断点。在文本框和你的 dao 对象上放一个 watch ,看看当你回发时它们是如何更新的。我真的不认为这是一个数据问题,但不要完全忽视它,至少在我看来,这是一个在回发之间缓存文本框值的 asp.net 问题。

关于c# - 文本框值未更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3937379/

相关文章:

asp.net - 如何使用 DataReader 填充 DataTable

c# - 单元测试方法中是否需要摘要

c# - 为什么我的 Dictionary 类看不到 ToArray() 方法?

c# - IndexOf C# 出错

.net - "Peeking Ahead"循环字典项时

c# - .NET 后台线程如何检测到主应用程序正在关闭?

javascript - 输入隐藏控件不会在回发之间保留 his 值

c# - 获取当前请求的url

c# - 如何在 Visual Studio 2019 中连接到 MySQL 数据源?

c# - 上传大文件asp.net