Domanda

Ho spiato MSDN e non riesco a vedere una proprietà/metodo per TextBox che ti consenta di ottenere il valore di testo predefinito impostato su un campo;Voglio essere in grado di confrontare l'attuale txtMyTextBox.Text con il valore predefinito (come mostra questo codice pseudo):

var myValue = (String.Compare(txtMyTextBox.Text, txtMyTextBox.DefaultText) ? "" : txtMyTextBox.Text)

È qualcosa che esiste nel controllo ASP.NET?Oppure sto chiedendo troppo?:)

Grazie per l'aiuto (come sempre)!

Pietro

È stato utile?

Soluzione

Non esiste un modo integrato per recuperare il valore predefinito di una casella di testo durante il postback.

Un'opzione potrebbe essere quella di utilizzare ViewState per archiviare il valore durante il PageLoad iniziale e recuperarlo da lì durante il postback per effettuare il confronto.

Altri suggerimenti

Per DefaultText vuoi dire il testo iniziale prima della modifica?

dichiarare Forse questo in una costante / campo di / etc da qualche parte, e impostarlo programatically piuttosto che nel codice - cioè nel primo carico, txtMyTextBox.Text = defaultText; - poi si può solo confrontare di nuovo per defaultText tenere traccia delle modifiche

.

Non v'è alcuna proprietà "DefaultText" su una casella di testo (o di qualsiasi altro controllo). Probabilmente hanno definito il default attraverso una costante stringa, quindi basta confrontare la proprietà Text a quella stringa costante.

L'unica proprietà è possibile verificare è la proprietà Text. Se avete bisogno di confrontare un valore originario allora si sarebbe migliore per conservare che, come forse una variabile di campo o una sessione di nascosto. È quindi possibile controllare questo contro qualsiasi cosa nella proprietà TextBox.Text.

Mettere il valore originale in un campo nascosto o in ViewState.

La classe TextBox supporta solo una proprietà .Text, in modo che il valore di "default" dovrà essere memorizzati da qualche parte in anticipo del primo rendering della pagina in modo da poter controllare proprietà .text del testo quando la pagina viene inviato indietro. Questo valore "default" può essere memorizzato in un cookie (se abbastanza piccolo), nel ViewState della pagina, in un campo di modulo nascosto sulla pagina, o anche in applicazione o sessione di stato.

TextBox non ha una proprietà DefaultText, quindi sono confuso. Come stai impostando un valore di testo predefinito? Se sono solo impostando nel codice cioè.

<asp:TextBox ...>Default Value</asp:TextBox>

Poi sarà il valore della proprietà .Text.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top