【问题标题】:check whether a textbox value changed in .net检查 .net 中的文本框值是否更改
【发布时间】:2012-09-07 11:41:53
【问题描述】:

我正在使用下面的代码来检查文本框的值是否发生了变化。文本框值最初是在按钮单击事件中从数据库中检索的。

要求: 如果 tbOffienotes 文本框发生更改,我想更新另一个对象(objTest2)属性。此外,我只想从文本框中获取新输入的文本。

If Not tbOfficeNotes.Text.Equals(objTest.OfficeNotes) Then
        Dim strComment As String = tbOfficeNotes.Text.Remove
                                            (0, objTest.OfficeNotes.Length) 
        'Save the test2 object
        objTest2.Comment=strComment

End If

【问题讨论】:

  • 您提到只想从您的文本框中获取“新输入的文本”?您想如何处理已删除或修改的文本?
  • 我只需要获取新输入的文本而不是删除或修改的文本。无论如何,知道如何完成它是有用的。你知道怎么做吗?

标签: asp.net .net vb.net visual-studio-2010


【解决方案1】:

订阅文本框的TextChanged 事件。这将在值更改时引发。您将在文本框的Text 属性中获得新输入的值

Protected Sub tbOfficeNotes_TextChanged(ByVal sender As Object, _
        ByVal e As System.EventArgs) Handles tbOfficeNotes.TextChanged
     Dim strComment As String = tbOfficeNotes.Text
End Sub

【讨论】:

    【解决方案2】:

    您为什么不将初始值存储在某个控件中,即HiddenField 并与当前值进行比较...如果更改则执行您的操作...

    【讨论】:

    • 虽然这无疑会起作用,但我相信 nunespascal 订阅文本框的 TextChanged 事件的答案是更优雅、更好地解决问题的方法。
    • @vanattab..没错,但如果你将它与性能进行比较,那么它确实不是一个好方法。因为这将需要每次回发,即使您输入一个空格来比较值,如果您只使用 asp.net。所以最好在只保存时检查一次......
    猜你喜欢
    • 1970-01-01
    • 2014-11-17
    • 2010-12-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-11-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多