2012-09-07 64 views
2

我正在使用以下代碼來檢查文本框值是否已更改。文本框的值最初是在按鈕單擊事件中從數據庫中檢索的。檢查是否在.net中更改了文本框值

要求: 如果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 
+0

您提到的只是希望從yuor文本框中獲取「新輸入的文本」?你想如何處理刪除或修改的文本? –

+0

我只需要讓新輸入的文本不被刪除或修改。無論如何,知道如何完成它是有用的。你知道該怎麼做嗎? – Joshua

回答

2

你爲什麼不存儲初始值在一定的控制即HiddenField,並與當前值進行比較......如果改變,那麼做你的操作...

+0

雖然這無疑會起作用,但我相信nunespascal訂閱文本框的TextChanged事件的答案是對問題的更優雅和更好的解決方案。 –

+0

@ vanattab ..確實如此,但如果您將它與表現的問題進行比較,那麼這確實不是一個好方法。因爲如果僅使用asp.net進行比較,那麼即使您輸入一個空格來比較值,每次都需要回發。所以更好的做法是在保存時只檢查一次... –

3

訂閱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