用户覆盖 input.text 值
Posted
技术标签:
【中文标题】用户覆盖 input.text 值【英文标题】:User overwrite input.text value 【发布时间】:2014-12-04 12:08:52 【问题描述】:您好,我在尝试为存储在数据库中的配置文件创建“编辑”页面时遇到了这个问题。
为了简单起见,我得到了一个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);
在第一行和更新语句之间,用户已经编辑了文本框中的文本,但它仍然保存了第一行的值。
如果我删除第一行并在文本框中输入一个值,它会保存输入的值。这就是为什么我怀疑问题出在 .text 上——但我不知道该怎么做。enter code here
编辑
对不起,如果我不清楚。但是所有值都已输入并且效果很好。对某些人来说太棒了。 有太多的代码可以为此指出小sn-ps。但是通过缩小问题范围,我发现如果我不在 page_load 中使用 TextBoxNavn.Text 插入数据库值,它会使用新值更新数据库中的值。但是当插入它时,用户编辑的值不会被保存,但是我从数据库中插入的值会被保存
编辑二
步骤:
-
我从数据库中获取数据并使用 TextBoxNavn.Text 将其插入到 TextBoxNavn 中
用户将转到页面并编辑文本框,在 TextBoxNavn 中写入一个新名称
用户按下“保存”按钮
TextBoxNavn 中的值由 TextBoxNavn.Text 检索
保存到数据库的值是第 1 步中的值,但我需要它是第 2 步中的值
【问题讨论】:
如果您发布代码,我们会更容易为您提供帮助 @izzy 这有帮助吗? :) 你忘记了密码@ID 【参考方案1】:我假设您在页面加载中使用 DataBind()。如果是,请将其更改为`
if(!Page.IsPostBack)
DataBind();
`
或者共享将数据绑定到文本框的完整代码。如果在 PageLoad 上绑定控件,Bind 将在控件事件之前调用,在这种情况下,您输入的值将被 Databind() 函数覆盖。请参考以下链接了解 asp.net 页面生命周期。
http://msdn.microsoft.com/en-us/library/ms178472(v=vs.100).aspx
【讨论】:
在 Page_Load 中,我建立到数据库的连接并使用数据库中的值创建一个数组。然后我制作 Textbox.text ,当按下保存按钮时,我想从文本框中获取用户编辑的文本。我不使用 DataBind(); @Jonasnoerr 你通过@ID
值了吗??
是的,更新部分没有问题。身份证也很好用。问题是用户输入不会覆盖 textbox.Text 值以上是关于用户覆盖 input.text 值的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 NSUserDefaults 注册用户默认值而不覆盖现有值?
在用户输入值而不覆盖以前的值后,如何写入 .csv 文件的下一行?
实时监听输入框值变化:oninput & onpropertychange