나는 RazorEngine 다음과 같은 면도기 템플릿을 사용하고 싶습니다 : 나는 그것을 호출 할 때RazorEngine - 사용 레이아웃 및 Html.Raw
@{
Layout = null;
}
@Html.Raw(MyNamespace.MyClass.SomePropertyWithHtml)
내가이 오류를 얻을 - 그것은 레이아웃을 처리 할 수없는 불평을하고, 또 다른 사람은 Html 도우미를 다루는 방법을 알지 못한다고 불평합니다.
다른 질문과 대답이 여기에 있으며 v3에서 가능하며 NuGet - v3.0.8에서 현재 패키지를 사용하고 있습니다. 그러나 이것이 어떻게 수행되는지는 명확하지 않습니다. 현재 내가 그렇게처럼 전화 해요 :
string html = RazorEngine.Razor.Parse(File.ReadAllText(path));
다른 대답을 제안 전류 소스 또는 자식의 3.0 분기에 표시되지 않는 먼저 Razor.SetBaseTemplate를 사용하여. 코드를 보면 레이아웃과 섹션을 참조하는 코드가 있지만 레이아웃 코드는 이름으로 템플릿을 해석하는 데 의존하는 것처럼 보입니다. 반면에 내가하려는 것은 템플릿을 해결할 필요조차 없습니다. Layout = null 인. 이 코드에는 웹 프로젝트에서 HtmlHelper를 제공하는 것으로 보이는 MvcTemplateBase도 포함되어 있지만 프로젝트의 유일한 클래스이며 웹 또는 핵심 프로젝트의 어느 곳에서도 참조되지 않습니다.
이 비슷한 질문 : RazorEngine issues with @Html
그냥 당신이 거기에 자세한 내용을 찾을 수 없다는 홈페이지에 링크 - 홈페이지 프로젝트를 설명하는 짧은 문장이다.
그래서 RazorEngine v3.0으로 위의 면도기 뷰를 구문 분석하는 방법은 무엇입니까?
오, 당신이 RazorEngine를 사용하고 ... 또 한 가지 유념해야 할 점은 면도기가 MVC되지 않는 것입니다. 새로운 RazorEngine으로 많은 작업이 완료되었지만 요즘 Antaris가 정말 바빴습니다. 파일의 상단에'@inherits MvcTemplateBase'을 사용할 수 있어야합니다. –
Buildstarted
제안 해 주셔서 감사합니다. Razor와 MVC가 분리되어 있다는 것을 알았지 만, 내 목표는 일반적인 ASP.Net 파이프 라인 내부와 외부에서 동일한 MVC Razor 템플릿을 사용하는 것입니다. NuGet의 버전에는 MvcTemplateBase라는 클래스가 없습니다. Git의 최신 버전은 일반적이지만 MvcTemplateBase 일뿐입니다. @inherits RazorEngine.Razor.MvcTemplateBase와 같은 라인을 추가하면 TemplateService.SetModelExplicit에 Exception이 발생합니다.이 템플릿 타입에는 Model이라는 속성이 없습니다. 아이디어? –