문제

나는 MSDN을 스파링하고 있으며 필드에 설정된 기본 텍스트 값을 얻을 수있는 텍스트 상자의 속성/메소드를 볼 수 없습니다. 현재 txtmyTextBox.Text를 기본값과 비교할 수 있기를 원합니다 (이 psuedo 코드 쇼와 같이).

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

ASP.NET 컨트롤에 존재하는 것입니까? 아니면 너무 많이 물어보고 있습니까? :)

도움을 주셔서 감사합니다 (언제나 그렇듯이)!

피트

도움이 되었습니까?

해결책

Postback 동안 텍스트 상자의 기본값을 검색하는 방법에는 내장되지 않았습니다.

한 가지 옵션은 ViewState를 사용하여 초기 Pageload 동안 값을 저장하고 포스트 백 중에서 검색하여 비교하는 것입니다.

다른 팁

기본적으로 편집하기 전에 초기 텍스트를 의미합니까?

아마도 이것을 일정한 / 필드 / 등에 어딘가에 선언하고 마크 업보다는 프로그래밍 방식으로 설정합니다 - 즉 첫 번째 하중에서 txtMyTextBox.Text = defaultText; - 나중에 다시 비교할 수 있습니다 defaultText 변경 사항을 추적합니다.

TextBox (또는 기타 컨트롤)에는 "DefaultText"속성이 없습니다. 상수 문자열을 통해 기본값을 정의했을 것이므로 텍스트 속성을 해당 상수 문자열과 비교하십시오.

확인할 수있는 유일한 속성은 텍스트 속성입니다. 원래 값을 비교 해야하는 경우 숨겨진 필드 또는 세션 변수로 저장하는 것이 가장 좋습니다. 그런 다음 TextBox.Text 속성에서 무엇이든 확인할 수 있습니다.

원래 값을 숨겨진 필드 또는 ViewState에 넣으십시오.

TextBox 클래스는 .Text 속성 만 지원하므로 페이지가 다시 게시 될 때 텍스트 상자의 .Text 속성을 확인할 수 있도록 "기본값"값은 페이지를 먼저 렌더링하기 전에 어딘가에 저장해야합니다. 이 "기본"값은 쿠키 (충분히 작은 경우), 페이지의 뷰 스테이트, 페이지의 숨겨진 양식 필드 또는 응용 프로그램 또는 세션 상태에 저장 될 수 있습니다.

TextBox에는 기본 텍스트 속성이 없으므로 혼란 스럽습니다. 기본 텍스트 값을 어떻게 설정하고 있습니까? 코드로 설정하는 경우 즉

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

그러면 .text 속성의 값이됩니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top