ASP.NET Core 2.0 부분 보기(번역)

문제.
어떻게 ASP.NET Core 2.0 에서 일부 보 기 를 사용 하여 페이지 의 공공 부분 을 다시 사용 합 니까?
답안
새 빈 항목 을 만 들 고 Startup 에 MVC 서비스 와 미들웨어 를 추가 합 니 다.

public void ConfigureServices(IServiceCollection services)

{

  services.AddMvc();

}

 

public void Configure(IApplicationBuilder app, IHostingEnvironment env)

{

  if (env.IsDevelopment())

  {

    app.UseDeveloperExceptionPage();

  }

 

  app.UseMvc(routes =>

  {

    routes.MapRoute(

      name: "default",

      template: "{controller=Home}/{action=Index}/{id?}");

  });

} 

두 개의 모델 추가:

 public class EmployeeViewModel

{

  public int Id { get; set; }

  public string Firstname { get; set; }

  public string Surname { get; set; }

  public AddressViewModel Address { get; set; }

}

 

public class AddressViewModel

{

  public string Line1 { get; set; }

  public string Line2 { get; set; }

  public string Line3 { get; set; }

} 

컨트롤 러 를 추가 하고 ViewResult 를 되 돌려 주 며 모델 인 스 턴 스 를 입력 합 니 다.

public class HomeController : Controller

{

  public IActionResult Index()

  {

    var model = new EmployeeViewModel

    {

      Id = 1,

      Firstname = "James",

      Surname = "Bond",

      Address = new AddressViewModel

      {

        Line1 = "Secret Location",

        Line2 = "London",

        Line3 = "UK"

      }

    };

    return View(model);

  }

} 

보기 페이지 Index.cshtml 추가:

@using PartialView.Models;

@model EmployeeViewModel

 

<div style="border: 1px solid black; margin: 5px">

  <h2>Employee Details (parent view)</h2>

 

  <p>Firstname: @Model.Firstname</p>

  <p>Surname: @Model.Surname</p>

 

  @Html.Partial("_Address.cshtml", Model.Address)

</div> 

부분 보기 추가Address.cshtml:

@using PartialView.Models

@model AddressViewModel

 

<div style="border: 1px dashed red; margin: 5px">

  <h3>Address Details (partial view)</h3>

 

  <p>Lin1: @Model.Line1</p>

  <p>Line2: @Model.Line2</p>

  <p>Line3: @Model.Line3</p>

</div> 

현재 솔 루 션 의 디 렉 터 리 구조:
 
실행,이 때 페이지 표시:
 
토론 하 다.
일부 보 기 는 다른 보기 내부 로 렌 더 링 된 특수 보기 입 니 다.보기 의 일부 구 조 를 다시 사용 하거나 큰 보 기 를 작은 구성 요소 로 구분 하 는 데 유용 합 니 다.
일부 보 기 는 정상 적 인 보기 처럼 만 들 수 있 으 며 컨트롤 러 방법 을 통 해 ViewResult 로 돌아 갈 수 있 습 니 다.관건 적 인 차 이 는 일부 보기 가 렌 더 링 되 기 전에 실행 하지 않 는 것 입 니 다ViewStart.cshtml,그리고 다른 보기 의 내부 로 렌 더 링 됩 니 다.
보기 내부 에서 일부 보 기 는@Html.Partial()방법 으로 렌 더 링 하고 일부 보기 의 이름과 선택 가능 한 모델 인 스 턴 스 를 전달 합 니 다.일부 보기 이름 은 절대 또는 상대 경로 일 수 있 습 니 다.보기 엔진 은 현재 디 렉 터 리 와 Shared 디 렉 터 리 에서 해당 하 는 부분 보 기 를 찾 습 니 다.
일부 보 기 는 부모 보기 View Data 데 이 터 를 복사 할 수 있 습 니 다.모형 을 전달 할 수도 있 습 니 다.이것 은 보통 부모 보기 모형 의 일부분 입 니 다.
주:ASP.NET Core 는 또 다른 유연 한 해결 방안 을 제공 하여 보 기 를 재 활용 하거나 분리 할 수 있 습 니 다.이러한 해결 방안 은 코드 를 실행 할 수 있 을 뿐만 아니 라 부모 보기 에 의존 하지 않 아 도 됩 니 다.그것 이 바로 보기 구성 요소 입 니 다.다음 절 에 소개 하 겠 습 니 다.
소스 코드 다운로드
원문
이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.

좋은 웹페이지 즐겨찾기