2016-09-14 2 views
2

내 MVC vNext 프로젝트에 TagHelpers을 포함시키고 있으며 HTML 태그를 자동으로 닫을 때 작동하지 않는다는 것을 깨달았습니다. 내가 닫는 태그를 넣을 때태그 도우미 - 자기 닫는 HTML 태그는 나쁜 습관입니까?

@addTagHelper "*, Microsoft.AspNet.Mvc.TagHelpers" 

<label asp-for="FirstName"/> <!-- self closing tag --> 

<span asp-validation-for="FirstName"/> <!-- self closing tag --> 

그리고, insteand, 나는 값이 표시되는 참조하십시오.

<label asp-for="FirstName"></label> 

<span asp-validation-for="FirstName"></span> 

내가 알고 싶은 무엇

<label for="FirstName">FirstName</label> 
<span class="field-validation-error" data-valmsg-for="FirstName" data-valmsg-replace="true"> 
    <span id="FirstName-error" class="">The FirstName field is required</span> 
</span> 

, 그것은 어떤 차이가 않습니다 HTML 생성? 그리고, 페어링 된 태그를 나쁜 습관으로 스스로 닫습니다. 이 디자인 원칙에 대해 이야기하는 기사를 알고 있다면 나와 공유하십시오. 매우 감사하겠습니다.

+0

일반적으로 자동 폐쇄 괜찮 클라이언트가 매우 오래된 브라우저를 사용하지 않는 한. 또는 당신은 자기 폐쇄 * 비 공백 요소 *를 의미합니까? – FrozenFire

+1

자체 폐쇄 '비공개 요소'에 대한 참조 : http://stackoverflow.com/questions/3558119/are-self-closing-tags-valid-in-html5 – FrozenFire

+0

공백이 아닌 요소는 어떤 내용을 담고있다. 입력, img, br 등등, 그 때 나는 그들을 의미하지 않았다. 쌍을 이루는 요소에 대해 알고 싶습니다. 예를 들어, 생성 된 HTML이 레이블 및 범위의 여는 태그와 닫는 태그 내에있는 콘텐츠를 포함하고 있습니다. 자아 폐쇄는 그런 쌍의 꼬리표는 심각한 범죄입니까? –

답변

3

"MVC 태그 도우미가 요소가 자체 닫을 지 여부를 변경하지 않기 때문에"작동하지 않는 이유는 (#4475의 주석에서).

ASP.NET에서 알려진 문제이며 종료 태그가있는 비 공백 요소 시나리오에서 VS IDE에 경고가 표시됩니다 (#398 참조). ASP.NET 개발자 중 하나는 문제가 있음을 #1302에 주석 :

"이 현재의 디자인은 그러나 우리는 행동에 (개방 및 폐쇄) 몇 가지 문제가"

+0

정보 주셔서 감사합니다! 나는 놀랍다. 어떻게 정확한 견해를 찾았 는가? 오늘 오후에 Google에 시도했지만 관련 콘텐츠에 도달하지 못했습니다. 그래서 새로운 질문으로 게시하기로 결정했습니다! 빙고, 내가 필요한 걸 얻었 어. –

관련 문제