asp.net core 새로운 기능 의 TagHelper 태그 조수
Microsoft 공식 문서 와 Git 프로젝트 를 보 려 면 아래 전송 문 을 클릭 하 세 요~~
asp.net 코어 공식 문서
asp.net 코어 github 프로젝트
TagHelper 라 고 하면 asp.net form 의 서버 엔 드 컨트롤 같 기도 하고 Angular 나 Vue 의'구성 요소'백 엔 드 구현 버 전 같 기도 합 니 다.사용 자 는 html 태그 집합 을 사용자 정의 태그 로 변환 하여 html 코드 의 재 활용 을 실현 할 수 있 습 니 다.
그러면 본문 시작~~
우선,우 리 는 vs 2017 플러그 인:Razor Language Services 를 설치 해 야 합 니 다.이 플러그 인 은 html 에서 사용자 정의 태그 조 수 를 스마트 하 게 알려 줍 니 다.
https://marketplace.visualstudio.com/items?itemName=ms-madsk.RazorLanguageServices
asp.net core 프로젝트 만 들 기
마이크로소프트 가 정의 하 는 탭 도 우 미 를 사용 합 니 다.플러그 인 을 설치 한 후 탭 도 우 미 를 사용 하면 하 이 라이트 가 표 시 됩 니 다.
위의 그림 에서 environment,link,a 라벨 은 모두 태그 도 우 미 를 사용 하여 각자 의 기능 을 실현 합 니 다.
<a asp-area="" asp-controller="Home" asp-action="Index" class="navbar-brand">taghelpersample</a>
a 탭 에 서 는 asp-controller,asp-action 사용자 정의 속성 을 사용 하여 경로 접근 을 실현 합 니 다.이 럴 때 나 도@Html 클래스 를 사용 해 같은 기능 을 수행 할 수 있 는데 왜 TagHelper 를 사용 해 야 합 니까?
@Html.ActionLink("taghelpersample", "Index", "Home",null, new { Class = "navbar-brand" })
확실히@Html 도움말 클래스 를 사용 하면 같은 기능 을 수행 할 수 있 지만 태그 도 우 미 를 사용 하 는 방식 은 html 태그 문법 에 더욱 부합 되 지 않 습 니까?강박 증 프로그래머 에 게 는 복음 입 니 다~또한 태그 의 기 존 속성 에 대한 추가,예 를 들 어 class,태그 조수 의 사용 도 더욱 편리 합 니 다.
<!-- form-->
<form asp-controller="Home" asp-action="Index" class="form-horizontal" method="post">
</form>
<!--Html form-->
@using (Html.BeginForm("Index", "Home", FormMethod.Post,, new { Class = "form-horizontal" }))
{
}
그 밖 에 태그 조수 의 또 다른 특징 은 사용자 정의 가 가능 하 다 는 것 입 니 다.구체 적 인 절 차 는 다음 과 같 습 니 다.(1)TagHelper 클래스 에서 파생 된 Class 만 들 기
// <text-collection></text-collection>
public class TextCollectionTagHelper:TagHelper
{
public override void Process(TagHelperContext context, TagHelperOutput output)
{
base.Process(context, output);
}
}
(2)속성 과 기본 클래스 설정
public string Color { get; set; }
public override void Process(TagHelperContext context, TagHelperOutput output)
{
output.TagName = "div";
output.Attributes.Add("style", "color:" + Color);
var text = "Hello,World";
var h1 = new TagBuilder("h1");
var h2 = new TagBuilder("h2");
var h3 = new TagBuilder("h3");
var h4 = new TagBuilder("h4");
var h5 = new TagBuilder("h5");
var h6 = new TagBuilder("h6");
h1.InnerHtml.Append(text);
h2.InnerHtml.Append(text);
h3.InnerHtml.Append(text);
h4.InnerHtml.Append(text);
h5.InnerHtml.Append(text);
h6.InnerHtml.Append(text);
output.Content.AppendHtml(h1);
output.Content.AppendHtml(h2);
output.Content.AppendHtml(h3);
output.Content.AppendHtml(h4);
output.Content.AppendHtml(h5);
output.Content.AppendHtml(h6);
}
(3)재ViewImports.cshtml 가 져 오기 클래스 네 임 스페이스
@addTagHelper *,taghelpersample
(4)cshtml 에서 태그 도 우미 사용
<text-collection color="red"></text-collection>
<text-collection color="blue"></text-collection>
<text-collection color="#666"></text-collection>
(5)디 버 깅 효과OK,오늘 TagHelper 에 대해 서 는 여기까지 공유 하 겠 습 니 다.
이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
작업 중 문제 해결 - (win 2003 asp. net) Session 과 페이지 전송 방법 으로 해결 방안 을 정상적으로 사용 할 수 없습니다.또한 F 는 처음에 우리 의 BP & IT 프로젝트 팀 이 Forms 폼 검증 을 사용 했다 고 판단 할 수 있 습 니 다. 페이지 를 뛰 어 넘 는 것 은http://hr.bingjun.cc/MyTask/MyTas...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.