用户覆盖输入文本值

本文关键字:文本 输入 覆盖 用户 | 更新日期: 2023-09-27 18:33:15

嗨,我在尝试为存储在数据库中的配置文件制作"编辑"页面时遇到了这个问题。为了简单起见,我得到了一个textbox,我从数据库中获取一个值并将其应用于带有教科书的文本框。文本 = "值";'。

到目前为止效果很好。然后我希望用户能够编辑文本框中的文本,然后按保存,这应该保存文本框的编辑内容。但它没有,它保存了我用textbox.text应用的值。我使用 textbox.text 从按钮单击函数中的文本框中获取值。

我做错了什么? - 用户的输入不会覆盖.text value吗?

    TextBoxNavn.Text = "Navn";       
   protected void ButtonSave_Click(object sender, EventArgs e)
        {
       using (SqlCommand command = new SqlCommand())
           {
         command.Connection = connection;
         command.CommandType = CommandType.Text;
         command.CommandText = "UPDATE Politikere SET Navn = @Navn WHERE ID = @ID";
         command.Parameters.AddWithValue("@Navn", TextBoxNavn.Text);
           }
       }

在第一行和 update 语句之间,用户已编辑文本框中的文本,但仍保存第一行的值。

如果我删除第一行并在文本框中输入一个值,它会保存输入的值。这就是为什么我怀疑问题是 .text - 但我不知道还能怎么做。 enter code here

编辑

对不起,如果我不清楚。 但是所有值都已输入并且效果很好。对某些人来说太好了。有太多的代码来指出这个的小片段。但是通过缩小问题范围,我发现如果我不在page_load中插入带有 TextBoxNavn.Text 的数据库值,它会使用新值更新数据库中的值。但是在插入它时,用户编辑的值不会被保存,但我从数据库中插入的值会保存

编辑二

步骤:

  1. 我从数据库中获取数据,并使用TextBoxNavn.Text将其插入到TextBoxNavn中
  2. 用户将转到页面并编辑文本框,在文本框导航中写入新名称
  3. 用户按"保存"按钮
  4. TextBoxNavn
  5. 中的值由 TextBoxNavn.Text 检索
  6. 保存到数据库的值是步骤 1 中的值,但我需要它是步骤 2 中的值

用户覆盖输入文本值

我假设您在页面加载中使用了DataBind((。如果是,请将其更改为'

if(!Page.IsPostBack)
{
DataBind();
}

'

或者共享将数据绑定到文本框的完整代码。如果在 PageLoad 上绑定控件,则会在控件事件之前调用 Binding,在这种情况下,您输入的值将被 Databind(( 函数覆盖。请参考以下链接了解 asp.net 页面生命周期。

http://msdn.microsoft.com/en-us/library/ms178472(v=vs.100(.aspx