ASP.Net : 리터럴 대 레이블
.NET Framework에 대한 LITERAL
컨트롤을 사용해야하는시기와 위치에 대한 일부 권한을 듣고 싶었 습니다 LABEL
.
내가 이해하는대로 차이점은 다음과 같습니다 . 추가 된 태그를 LABEL
통해 A 스타일을 지정할 수 있습니다 <SPAN>
.
개인적으로 <SPAN>
HTML 에 태그를 추가 하는 것이 매우 짜증나고 실제로 ASP를 통해 스타일을 적용하지 않는다는 LITERAL
것을 알게 되었기 때문에 대부분의 시간을 사용해야하는 것 같습니다 ...하지만 다른 고려 사항이나 이점이 있습니다. 내가 알지 못하는 LABEL을 사용합니다.
스타일을 적용하지 않는 한 LABEL
s를 LITERAL
s 로 바꾸는 것이 100 % 괜찮 습니까? 다른 고려 사항이 없습니까?
네, 주요 차이점은 Literal
컨트롤이 텍스트를 렌더링하지만 Label
컨트롤이 <span>
태그로 둘러싸여 있다는 것입니다 ( AssociatedControlID
속성 을 사용하지 않는 한 Label
컨트롤이 <label>
태그 를 렌더링합니다 ).
따라서 레이블 스타일을 더 쉽게 지정할 수 있지만 텍스트를 삽입하는 경우에는 리터럴을 사용하면됩니다. 리터럴 컨트롤 Mode
에는 텍스트 렌더링 방법을 제어하는 편리한 속성도 있습니다 . HTML로 인코딩하거나 변경하지 않고 렌더링하거나 "지원되지 않는 마크 업 언어 요소"를 제거 할 수 있습니다.
스타일을 적용하지 않는 경우 (예 : Label
의 CssClass
속성 을 사용하여 ) Label
컨트롤을 Literal
컨트롤 로 바꾸는 것이 좋습니다.
다음과 유사한 코드가있는 경우
<asp:Label EnableViewState="false" ID="Label8" runat="server"
AssociatedControlID="txtEmail">Email Address:</asp:Label>
<asp:TextBox ID="txtEmail" runat="server"></asp:TextBox>
레이블 요소를 사용하면 텍스트 상자를 대상 label
으로하는 올바른 for
속성이 있는 html 요소 로 올바르게 변환 되므로 사용자가 레이블을 클릭하면 자동으로 텍스트 필드 안에 커서가 설정되므로 사용하는 것이 가장 좋습니다.
그렇지 않으면 텍스트 span
가 CSS 스타일링에 도움이 되지 않는 한 리터럴을 사용하십시오 .
간단한 텍스트, 서식이 지정된 텍스트 또는 HTML 텍스트를 그대로 표시하려면 먼저 경량으로 리터럴로 시작하고 추가 SPAN 태그를 내 보내지 않습니다.
이러한 추가 태그에 대해 보여주는 이 비디오 를 참조하십시오 .
그러나 우리는 리터럴에 CSS를 적용 할 수 없으며 Label1.Attributes.Add와 같은 속성을 리터럴에 추가 할 수 없습니다. 리터럴은 SPAN 태그로 둘러싸여 있지 않기 때문에 컨테이너 지향적 인 것은 얻을 수 없습니다.
또한 많은 ASP.NET Webform 사용자가 기본적으로 레이블을 선택하여 레이블이 많은 경우 HTML을 무겁게 만들 수있는 추가 SPAN 태그를 생성한다는 사실을 모르고 텍스트를 표시하는 것을 보는 것도 안타깝습니다.
asp.net의 차이점 흑백 레이블 및 리터럴 컨트롤
거의 모든면에서 Literal 컨트롤은 Label 컨트롤과 동일합니다. 이 두 컨트롤은 모두 웹 양식에 텍스트를 표시하는 데 사용됩니다. (Text 속성은 HTML 또는 코드 숨김에서 설정할 수 있습니다.)
가장 큰 차이점은 Label 컨트롤이 span
렌더링 될 때 텍스트를 래핑한다는 것 입니다. Label 컨트롤에 적용되는 모든 스타일 style
은 span
.
예를 들어, 다음 HTML
<asp:Label ID="Label1" runat="server" Text="Label Text"
ForeColor="Red" Font-Bold="true" ></asp:Label>
다음과 같이 렌더링됩니다.
<span id="Label1" style="color:Red;font-weight:bold;">Label Text</span>
Literal 컨트롤은 주변 태그를 출력하지 않으므로 텍스트는 다음과 같이 표시됩니다.
예를 들어, 다음 HTML
<asp:Literal ID="Literal1" runat="server"
Text="Literal Control Text"></asp:Literal>
다음과 같이 렌더링됩니다.
Literal Control Text
따라서 스타일을 a에 적용하려면 Label 컨트롤을 사용하고 그렇지 않으면 Literal 컨트롤을 사용하십시오. 이 때문에 Literal 컨트롤은 Label 컨트롤과 비교할 때 가벼운 컨트롤입니다.
참고 : Literal 컨트롤 클래스의 상속 계층은 (Object => Control => Literal)입니다 . 여기서 Label 컨트롤의 경우 계층은 (Object => Control => WebControl => Label)입니다.
참고 URL : https://stackoverflow.com/questions/3309398/asp-net-literal-vs-label
'Programing' 카테고리의 다른 글
웹 사이트를위한 자동 Retina 이미지 (0) | 2020.08.22 |
---|---|
휴리스틱과 알고리즘의 차이점은 무엇입니까? (0) | 2020.08.22 |
.NET의 파일에 대한 액세스가 거부되었는지 어떻게 쉽게 확인할 수 있습니까? (0) | 2020.08.22 |
HTML 텍스트 상자의 크기는 어떻게 설정합니까? (0) | 2020.08.22 |
PHP를 축소하는 것이 중요합니까? (0) | 2020.08.22 |