programing

"razor" 파일과 "cshtml" 파일의 차이점은 무엇입니까?

oldcodes 2023. 6. 13. 22:47
반응형

"razor" 파일과 "cshtml" 파일의 차이점은 무엇입니까?

ASP.NET의 "razor" 파일과 "cshtml" 파일의 차이점은 무엇입니까?"razor-components" 응용 프로그램에서 ".cshtml" 대신 ".razor" 파일을 사용해야 합니까?

어떤 ASP.NET을 의미하는지에 따라 다릅니다.

예를 들어, Blazor의 관점에서:

.NET Core 3.0 Preview 4 SDK(3.0.100-preview4-011223) 이후에는 다음과 같이 기록됩니다.

  • 모든 _ViewImports.cshtml 파일의 이름을 _Imports.razor로 바꿉니다.
  • 나머지 모든 .cshtml 파일의 이름을 .razor로 변경합니다.

따라서 .NET Core 3.0 Preview 4 이상을 사용하여 Blazor Web App을 구축하는 경우에는 .cshtml 대신 .razor를 사용해야 합니다.

출처: https://devblogs.microsoft.com/aspnet/blazor-now-in-official-preview/

Blazor는 Client 측에서 C#을 실행할 수 있기 때문에, Razor 코드를 실행할 수 있는 곳은 클라이언트와 서버 두 곳입니다.그래서 클라이언트 쪽에는 확장자 ".razor" 서버- ".cshtml"있습니다.

새 웹 어셈블리를 만들었습니다.애플리케이션을 호스팅하여 확인한 결과:

  • 솔루션에서 생성된 프로젝트는 다음과 같습니다.클라이언트, 서버 및 공유
  • 클라이언트 프로젝트에 .razor 파일이 있고 .cshtml 파일이 없습니다.이 프로젝트는 컴파일되어 클라이언트 측에 .dll을 전송한 다음 에 의해 실행됩니다.브라우저에 통합된 넷
  • 서버 프로젝트에는 .cshtml 파일이 있고 .razor 파일이 없습니다.이 코드는 이전 ASP에서 수행된 것처럼 서버에서 컴파일 및 실행되었습니다.
  • 공유 프로젝트에는 클라이언트와 서버 모두에 대한 공통 유형/클래스가 포함되어 있습니다.이제(마지막으로) 이전처럼 서버의 C#과 클라이언트의 JS에서 모델 클래스를 두 번 선언할 필요가 없습니다. 그리고 당연히 당신은 하나를 다른 하나에 매핑할 필요가 없습니다.

Razor는 C#을 사용하여 서버 기반 코드를 웹 페이지에 내장할 수 있는 마크업 구문이며, cshtml은 레이저 파일 Cshtml = cs (C#) + HTML의 확장자입니다.

구성 요소는 일반적으로 C# 및 HTML 마크업(.cshtml 파일은 Blazor 앱에서 사용됨)을 사용하여 레이저 구성 요소 파일(.razor)에 구현됩니다.

.cshtml과 .vla는 우리가 blazor app에서 .cshtml 파일을 사용하고 면도기 부품에서 .vla를 사용하는 것과 같습니다.

수도 있지만,.cshtml할 때 html 새레이페파때생로페새일이 html니다..razor새 레이저 구성요소를 추가할 때 생성되는 파일은 레이저 페이지에 들어갈 구성요소입니다.

===참조 ===

Razor는 .NET 기반 코드를 웹 페이지에 포함하기 위한 마크업 구문입니다.Razor 구문은 Razor 마크업, C# 및 HTML로 구성됩니다.Razor를 포함하는 파일은 일반적으로 .cshtml 파일 확장자를 가집니다.레이저는 레이저 구성 요소 파일(.razor)에도 있습니다.

보낸 사람: Microsoft 학습 포털

표준 .cshtml 파일에서 사용되며 다음과 같이 구현됩니다.

<BlazorSample.Components.MyComponent />

이 새로운 확장 기능은 레이저 부품에 사용됩니다.

https://learn.microsoft.com/en-us/aspnet/core/blazor/components/ ?view=aspnetcore-3.1

조금 헷갈리는 것 같아요.Blazor Server의 경우 VS 2022에서 .net core 6 blazor 템플릿을 사용하여 NavMenu를 두 개의 새 항목으로 수정하면 하나는 .razor 페이지를 가리키고 다른 하나는 .cshtml 페이지를 가리킵니다.레이저 페이지를 가리키는 하나는 기존 레이아웃 내부에 표시되고 다른 하나는 표시되지 않습니다.그것은 모든 것을 대체할 것입니다..razor 페이지에는 사용자가 페이지로 이동할 수 있도록 @page 지시문이 있어야 하지만,

따라서 적어도 Blazor 서버의 경우 레이저 페이지는 다양한 용도로 사용됩니다.

  • 다른 페이지에서 사용할 수 있는 컨트롤
  • 탐색할 수 있고 기존 레이아웃에 나타날 페이지(@page 지시문이 있어야 함).기본적으로 이것들은 단지 통제일 뿐입니다.

.cshtml

  • 컨트롤을 사용하거나 페이지가 레이아웃인 경우 컨트롤에서 사용할 수 있는 페이지

.cshtml 파일은 레이저 페이지 또는 MVC 보기이며 C#으로 작성된 클라이언트 측 코드를 포함하지 않습니다.이렇게 하려면 JavaScript를 사용해야 합니다.그러나 레이저 구성 요소라고도 하는 .razor 파일에는 C#이 기록되어 있고 클라이언트의 브라우저에서 실행될 수 있습니다.

면도기는 C# 코드와 같은 서버 사이드 코드를 웹 페이지에 삽입하는 데 도움이 됩니다.cshtml은 파일 확장자일 뿐입니다. 레이저 뷰 엔진은 레이저 페이지("cshtml)를 html"로 변환하는 데 사용됩니다.

언급URL : https://stackoverflow.com/questions/55590605/what-is-the-difference-between-razor-and-cshtml-files

반응형