C# 用户覆盖输入.text值

C# 用户覆盖输入.text值,c#,asp.net,C#,Asp.net,嗨,我在尝试为数据库中存储的配置文件创建“编辑”页面时遇到了这个问题。 为了简单起见,我得到了一个textbox,从数据库中获取一个值,并将其应用到带有教科书的文本框中。text=“value”` 到目前为止效果很好。 然后我希望用户能够编辑文本框中的文本,然后按save,这将保存文本框中编辑的内容。但它没有,它保存了我用textbox.text应用的值。 我使用textbox.text从按钮单击函数中的textbox获取值 我做错了什么用户的输入是否未覆盖.text值 TextBoxN

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

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

我做错了什么用户的输入是否未覆盖
.text值

    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上,但我不知道还有什么办法。
在这里输入代码

编辑

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

编辑II

步骤如下:

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

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

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

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


    如果您发布代码,我们将更容易提供帮助you@izzy这有用吗?:)您忘记了pass@IDIn Page_Load,我建立了与数据库的连接,并使用数据库中的值创建了一个数组。然后我创建Textbox.text,当按下保存按钮时,我想从Textbox中获取用户编辑的文本。我不使用DataBind()@Jonasnoerr您是否传递了
    @ID
    值??是,更新部分没有问题。ID也很好用。问题是用户输入不会覆盖textbox.Text值