이 섹션에서는 HiddenField, Literal 및 LinkButton이라는 세 가지 컨트롤을 연구합니다.
이 컨트롤은 사용법이 BUTTON과 유사하기 때문에 여기서는 LinkButton을 사용하지만 컨트롤이 약간 이상해 보일 수 있습니다. , HyperLink 및 Button은 블라인드입니다. 결과는 LinkButton이지만, 이렇게 불공평한 이름이 나왔지만 기여도가 매우 좋기 때문에
먼저 다음을 제공하는 HiddenField를 배워야 합니다
!페이지에 정보를 저장하는 방식인데, 사용법은 다른 제어 정보와 비슷하지만 표시하지 않는다. 그런데, 표시하지 않으면 안 된다고 생각한다. 비밀번호와 같은 민감한 정보는 페이지의 HTML 소스에 표시되므로 저장하지 않습니다.
링크버튼
다음으로 Literal에 대해 이야기해 보겠습니다. 우리는 이 컨트롤을 많이 또는 거의 사용하지 않지만 Microsoft가 만들었기 때문에 불친절하다는 말을 피하기 위해 이에 대해 이야기해야 할 의무가 있습니다. 2.0. 새로운 기능입니다. 하하!!!
입력하기가 너무 귀찮아서 MSDN에서 내용을 복사했습니다
. 리터럴 컨트롤은 페이지에 콘텐츠를 추가하는 여러 옵션 중 하나를 나타냅니다. 정적 콘텐츠의 경우 컨테이너를 사용할 필요가 없으며 마크업을 페이지에 HTML로 직접 추가할 수 있습니다. 그러나 콘텐츠를 동적으로 추가하려면 컨테이너에 콘텐츠를 추가해야 합니다. 일반적인 컨테이너에는 레이블 컨트롤, 리터럴 컨트롤, 패널 컨트롤 및 자리 표시자 컨트롤이 포함됩니다.
Literal 컨트롤과 Label 컨트롤의 차이점은 Literal 컨트롤은 텍스트에 HTML 요소를 추가하지 않는다는 것입니다. (Label 컨트롤은 범위 요소를 렌더링합니다.) 따라서 Literal 컨트롤은 위치 속성을 포함한 스타일 속성을 지원하지 않습니다. 그러나 Literal 컨트롤을 사용하면 콘텐츠를 인코딩해야 하는지 여부를 지정할 수 있습니다.
Panel 및 Placeholder 컨트롤은 Label 및 Literal 컨트롤이 인라인으로 렌더링되는 방식과 달리 페이지에 개별 블록을 만드는 div 요소로 렌더링됩니다.
일반적으로 리터럴 컨트롤은 추가 태그 없이 페이지에 텍스트와 컨트롤을 직접 렌더링하려는 경우에 사용됩니다.
리터럴 컨트롤은 컨트롤이 추가한 태그를 처리하는 방법을 지정하는 Mode 속성을 지원합니다. Mode 속성을 다음 값으로 설정할 수 있습니다:
Transform . 컨트롤에 추가된 모든 마크업은 요청하는 브라우저의 프로토콜에 맞게 변환됩니다. 이 설정은 HTML 이외의 프로토콜을 사용하는 모바일 장치에 콘텐츠를 렌더링하는 경우 유용합니다.
통과. 컨트롤에 추가된 모든 마크업은 브라우저에서 있는 그대로 렌더링됩니다.
인코딩합니다. 컨트롤에 추가된 모든 태그는 HTML 인코딩을 텍스트 표현으로 변환하는 HtmlEncode 메서드를 사용하여 인코딩됩니다. 예를 들어 <b> 태그는 <b>로 렌더링됩니다. 인코딩은 브라우저가 마크업을 해석하지 않고 표시하도록 하려는 경우에 유용합니다. 인코딩은 보안에도 유용하며, 브라우저에서 악의적인 마크업이 실행되는 것을 방지하는 데 도움이 됩니다. 이 설정은 신뢰할 수 없는 소스의 문자열을 표시할 때 권장됩니다.
변환 모드가 사용됩니다
------------------------------------- ----------------------------------
[fdsf](desf);"하하하"
패스스루 모드가 사용됩니다
------------------------------------- ----------------------------------
[fdsf](desf);"하하하"
인코딩 모드가 사용됩니다.
<hr><i>[fdsf](desf);"hahah"<br><p></i>
이것은 일반 모드 레이블입니다.
------------------------------------- ----------------------------------
[fdsf](desf);"하하하"
<hr><i>[fdsf](desf);"hahah"<br><p></i>
를 사용하여 디코딩하는 방법입니다.