>백엔드 개발 >C++ >.NET Core에서 뷰를 문자열로 렌더링하는 방법은 무엇입니까?

.NET Core에서 뷰를 문자열로 렌더링하는 방법은 무엇입니까?

DDD
DDD원래의
2025-01-04 11:53:45614검색

How to Render a View as a String in .NET Core?

.NET Core에서 뷰를 문자열로 반환하는 방법

개요

뷰를 문자열로 반환하는 것은 다양한 시나리오에서 유용할 수 있습니다. 보고서나 이메일을 생성할 때 등. 이 문서에서는 .NET Core에서 뷰를 문자열로 변환하고, 컴파일 오류를 해결하고, 대체 접근 방식을 제공하는 솔루션을 제공합니다.

기존 코드를 .NET Core로 변환

제공된 코드는 사용을 가정합니다. .NET Core에서는 사용할 수 없는 System.Web.Mvc입니다. 이를 조정하려면 다음이 필요합니다.

  • 최소 1.1.0 버전의 Microsoft.AspNetCore.Mvc NuGet 패키지를 설치합니다.
  • 컨트롤러를 ControllerBase로 교체하세요.
  • 다음을 사용하여 ViewEngines.Engines를 추가합니다. Microsoft.AspNetCore.Mvc.ViewEngines;.
  • System.Web.Routing에 대한 종속성을 제거합니다.
  • IViewEngine viewEngine = Controller.HttpContext.RequestServices.GetService(typeof(ICompositeViewEngine))를 ICompositeViewEngine으로 사용합니다. 뷰 엔진을 검색합니다.

대체 확장 방법

대체 접근 방식은 .NET Core의 일부 기능을 활용하는 컨트롤러 확장 방법을 만드는 것입니다.

public static async Task<string> RenderViewAsync<TModel>(this Controller controller, string viewName, TModel model, bool partial = false)
{
    // ... Implement the logic as described in the provided code
}

사용법

이 방법을 사용하려면 간단히 컨트롤러:

var viewHtml = await this.RenderViewAsync("Report", model);

위 내용은 .NET Core에서 뷰를 문자열로 렌더링하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.