어떻게 ASP에서NET Core에서 ViewComponent 사용
3766 단어 ASP.NETCoreViewComponent
앞말
이전의 개발 과정에서 우리는 응용이나 작은 구성 요소에 대해 분포 페이지(partial view)를 사용하고 앞으로 웹 Form에서 응용
WEB Control
을 할 것이다. 그래, 관건적인 코드TagPrefix:TagName
를 언급하자. 이런 표시를 통해 우리는 우리web form
에서 우리의 구성 요소를 도입할 수 있다. 물론이다.NET MVC 이후로는 없습니다WebControl
.NET Core 이후 특징이 하나 더 추가되었습니다ViewComponent
.ViewComponent
는 작은 컨트롤러와 유사해 보이지만 우리의 작은 구성 요소나 작은 부분의 유니버설 기능은 ViewComponent
을 통해 실현할 수 있다. 예를 들어 메시지 표시줄, 메뉴 등이다.ViewComponent
는 두 부분으로 구성되어 있으며, 일부는 클래스(일반적으로 이 클래스는 View Component와 통합), 다른 일부는 보기(Razor와 일반적인View와 같다), 물론ViewComponent
역시 POCO를 지원하고, 계승하지 않지만ViewComponent
, 클래스는 ViewComponent
로 끝난다.구성 요소 사용자 정의
다음과 같이 ViewComponent를 작성하는 방법은 세 가지입니다.
View Component
에 대해 우리는 기본적인 인식을 가지게 되었다. 다음은 ButtonViewComponent
예시를 만들어서 우리의 참고로 삼는다.
using System.Threading.Tasks;
using Microsoft.AspNetCore.Mvc;
namespace ViewComponentDemo.ViewComponents
{
public class ButtonViewComponent : ViewComponent
{
public async Task<IViewComponentResult> InvokeAsync()
{
return View();
}
}
}
뷰 페이지에서 이 구성 요소를 호출합니다.
@await Component.InvokeAsync("Button")
ViewComponent
역시 Controller
와 마찬가지로 우리 서버의 특성을 통해 보기 조작을 하거나 렌더링을 한다. 예를 들어 아래에서 파라미터를 전달하고 우리의 Button
스타일을 수정해야 한다.원래 방법을 수정하고 Enum 유형을 추가하여 스타일 선택을 진행합니다
@await Component.InvokeAsync("Button",ButtonType.Success)
public async Task<IViewComponentResult> InvokeAsync(ButtonType type = ButtonType.Success)
{
ViewBag.Type = type;
//return View("name",model);//
return View();
}
public enum ButtonType
{
Default,
Primary,
Success,
Info,
Warning,
Danger,
Link
}
ViewComponent 특성
우리의 보기 관계 연결에서 우리는 명명식 연결에 의존하기 때문에 구성 요소의 이름이 클래스 이름과 일치하지 않을 때 관련 보기를 검색하지 못할 수 있다. 물론 우리는 사용 과정에서 다른
Name
보기를 사용할 수 있다.다음과 같이 뷰의 바인딩을 수행할 수 있습니다.
[ViewComponent(Name ="Button")]
public class ButtonTest : ViewComponent
{
public async Task<IViewComponentResult> InvokeAsync(ButtonType type = ButtonType.Success)
{
ViewBag.Type = type;
return View();
}
}
위의 코드와 같이 ViewCompoentAttribute
이름이 보기 연결에 실패했지만 (Button을 사용할 수 없습니다.) 표시를 추가해서Name을 ButtonTest
로 명명하면 일치하지 않는 행동을 보완할 수 있습니다.Taghelper 방식
Button
지정을 통해 구성 요소를 포함하는 프로그램 집합을 등록합니다. 구성 요소는 @addTagHelper
프로그램 집합에 있습니다.
@addTagHelper *, ViewComponentDemo
이런 방식에는 하나의 폐단이 있다. 파라미터는 선택할 수 있는 파라미터가 아니다. 즉, 모든 파라미터를 표시해서 호출해야 한다. 그렇지 않으면 검색할 수 없을 것이다.
<vc:button type="@ButtonType.Success"></vc:button>
위 코드에서 type이 우리의 방법 매개 변수입니다.Reference
Demo: https://github.com/hueifeng/BlogSample/tree/master/src/ViewComponentDemo
지금까지 ASP에서 어떻게NET Core에서 ASP에 대한 자세한 내용은 ViewComponent를 사용합니다.NET Core에서 ViewComponent를 사용하는 자료는 다른 관련 기사를 참고하십시오.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
부트스트랩 ASP.NET에서 설정하는 법1) _Layout.cshtml 內 link로 bootstrap 참조 2) Nuget 패키지에서 BootStrap 다운로드 3) 하단 부트스트랩 예제 사이트 참고해서 프로젝트 개발 참고 :...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.