Pergunta

I foram espiar a MSDN e não pode ver uma propriedade / método de TextBox que permite que você obtenha o valor de texto padrão que foi definido em um campo; Eu quero ser capaz de comparar o atual txtMyTextBox.Text para o valor padrão (como este mostra o código pseudo):

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

Isto é algo que existe no controle ASP.NET? Ou eu estou pedindo demais? :)

Obrigado por qualquer ajuda (como sempre)!

Pete

Foi útil?

Solução

Não há construído em forma de recuperar o valor padrão de uma caixa de texto durante a postagem.

Uma opção seria usar ViewState para armazenar o valor durante o PageLoad inicial e recuperá-lo de lá durante o postback para fazer a comparação.

Outras dicas

Por DefaultText que você quer dizer o texto inicial antes de editar?

Talvez declarar isso em uma constante / campo / etc em algum lugar, e configurá-lo através de programação em vez de na marcação - ou seja, na primeira carga, txtMyTextBox.Text = defaultText; -., Em seguida, mais tarde você pode simplesmente comparar novamente para defaultText para acompanhar as mudanças

Não há nenhuma propriedade "DefaultText" em uma caixa de texto (ou qualquer outro controle). Você provavelmente já definiu o padrão através de uma string constante, então basta comparar a propriedade de texto para essa string constante.

A única propriedade que você pode verificar é a propriedade Text. Se você precisa comparar um valor original, então você seria melhor para armazenar que, como talvez um campo oculto ou variável de sessão. Você pode então verificar isso contra qualquer coisa na propriedade TextBox.Text.

Coloque o valor original em um campo oculto ou em estado de visualização.

A classe TextBox suporta apenas uma propriedade .Text, para que o seu valor "default" terá que ser armazenado em algum lugar antes da primeira prestação da página de modo que você pode verificar propriedade .text da caixa de texto quando a página é enviada de volta. Este valor "default" podem ser armazenados em um cookie (se pequeno o suficiente), no ViewState da página, em um campo de formulário oculto na página, ou mesmo no estado da aplicação ou sessão.

TextBox não tem uma propriedade DefaultText, por isso estou confuso. Como você está definindo um valor de texto padrão? Se você está apenas definindo-o no i código.

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

Em seguida, ele será o valor da propriedade .Text.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top