获取textbox asp.net vb.net的上一个值

获取textbox asp.net vb.net的上一个值,asp.net,vb.net,message,Asp.net,Vb.net,Message,我正在做一个项目,人们可以“更新”类别,比如更改类别的名称。在使用SQL语句单击update按钮后,将调用以下消息: Dim cs As ClientScriptManager = Page.ClientScript cs.RegisterStartupScript(Me.GetType(), "Message", "alert (' The category has been changed to:" + TextBoxCategorie.Text + "')"

我正在做一个项目,人们可以“更新”类别,比如更改类别的名称。在使用SQL语句单击update按钮后,将调用以下消息:

    Dim cs As ClientScriptManager = Page.ClientScript
            cs.RegisterStartupScript(Me.GetType(), "Message", "alert
(' The category has been changed to:" + TextBoxCategorie.Text + "')", True)
哪个显示:类别已更改为:[文本框的值]

但是,是否可以存储上一个值,从而得到如下结果:

“沙”已成功更新为“泥”

提前感谢

为您提供客户端的原始值

Dim script As String = "var txt=document.getElementById('" & TextBoxCategorie.ClientID & "');if(txt!=null)alert(txt.defaultValue + ' has been changed to: " + TextBoxCategorie.Text + "')"
cs.RegisterStartupScript(Me.GetType(), "Message", script, True)
但是,只有在这个请求中更改了它,这才有效。如果在页面发送到客户端之前已经更改了该值(正如RegisterStartupScript所建议的),则必须将旧值存储在其他位置或从数据库加载。

查看,您可以在覆盖该值之前从文本框中获取该值。有一个名为
OnTextChanged
的事件似乎很有用,但问题是此时旧值已被覆盖(此时已触发页面加载)。我将研究如何简单地使用Page_Init并在覆盖变量之前将文本框值赋给变量

protected void Page_Init(object sender, EventArgs e)
{
     String oldValue = TextBox.Text;
}

创建一个HiddenField以与文本框一起使用。当页面最初加载时,用初始值填充HiddenField。在回发中,将TextBox值与HiddenField值进行比较。你可以访问旧的和新的


只需确保您没有在回发上重新填充HiddenField,尽管如果您是从数据库中填充,这可能并不重要。但是如果您只填写(而不是我。IsPostBack),那么在回发中,它应该为您提供页面第一次加载时的值。

该代码如何调用?您是否有“更新”按钮或其他什么?啊,对不起,是的,这是在按钮上调用的更新\单击,然后在消息中调用该变量?一旦您分配了它,您可以以您通常会使用的任何方式引用它。与传递textboxcategory.Text的方式相同。