ASP.NET TextBox Control – получить текстовое значение по умолчанию в коде?

StackOverflow https://stackoverflow.com/questions/545596

  •  23-08-2019
  •  | 
  •  

Вопрос

Я шпионю за MSDN и не вижу свойства/метода для TextBox, которое позволяет получить текстовое значение по умолчанию, установленное в поле;Я хочу иметь возможность сравнивать текущий txtMyTextBox.Text со значением по умолчанию (как показано в этом псевдокоде):

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

Это что-то, что существует в элементе управления ASP.NET?Или я прошу слишком многого?:)

Спасибо за любую помощь (как всегда)!

Пит

Это было полезно?

Решение

Не существует встроенного способа получения значения текстового поля по умолчанию во время обратной передачи.

Одним из вариантов может быть использование ViewState для сохранения значения во время начальной загрузки страницы и его извлечения оттуда во время обратной передачи для сравнения.

Другие советы

Под DefaultText вы имеете в виду исходный текст перед редактированием?

Возможно, объявите это где-нибудь в константе/поле/etc и задайте программно, а не в разметке - т.е.при первой загрузке, txtMyTextBox.Text = defaultText; - потом позже вы сможете просто еще раз сравнить с defaultText для отслеживания изменений.

В текстовом поле (или любом другом элементе управления) нет свойства «DefaultText».Вероятно, вы определили значение по умолчанию через константную строку, поэтому просто сравните свойство Text с этой константной строкой.

Единственное свойство, которое вы можете проверить, — это свойство Text.Если вам нужно сравнить исходное значение, лучше всего сохранить его как скрытое поле или переменную сеанса.Затем вы можете проверить это по чему-либо в свойстве textbox.Text.

Поместите исходное значение в скрытое поле или в состояние просмотра.

Класс TextBox поддерживает только свойство .Text, поэтому значение «по умолчанию» необходимо сохранить где-то перед первой отрисовкой страницы, чтобы можно было проверить свойство .text текстового поля при обратной отправке страницы.Это значение «по умолчанию» может храниться в файле cookie (если он достаточно мал), во ViewState страницы, в скрытом поле формы на странице или даже в состоянии приложения или сеанса.

TextBox не имеет свойства DefaultText, поэтому я в замешательстве.Как вы устанавливаете текстовое значение по умолчанию?Если вы просто устанавливаете его в коде, т.е.

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

Тогда это будет значение свойства .Text.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top