간단한 면도기 파일 인 _modelTemplate.cshtml과 poco 클래스 모델이 있습니다. 모델을 _modelTemplate.cshtml에 전달하여 HTML 문자열을 렌더링 할 수있게하고 싶습니다.면도기 파일과 poco 클래스의 문자열로 HTML 렌더링
이유 : 저는 기존 WebForms 응용 프로그램에서 작업 중이며 실제로 생성하는 템플릿 엔진으로 razor를 사용하고 싶습니다. WebForms 서버 컨트롤이나 포스트 백이 필요없는 특정 섹션에 대해 HTML을 정리하십시오.
면도칼 파일에 MVC 헬퍼가 필요하지 않으며 간단한 템플릿과 바인딩 모델 만 필요합니다. 면도기를 사용하여 HTML을 생성 한 다음 렌더링 된 문자열을 WebForm의 .aspx 페이지에있는 Literals .Text 속성에 바인딩 할 수 있다고 생각했습니다.
내가 좋아하는 뭔가 생각하고 있어요 :
Lit1.Text = RenderRazorTemplateAsString(razorFilePath, model);
이 할 수있는 방법이 있습니까를, 또는 뭔가를 구축해야 할 것이다?
controller.ViewData.Model = model; string result = string.Empty; using (StringWriter writer = new StringWriter()) { ViewEngineResult viewResult = ViewEngines.Engines.FindPartialView (controller.ControllerContext, viewName); ViewContext = 새로운 ViewContext (controller.ControllerContext, viewResult.View, controller.ViewData, controller.TempData, writer); viewResult.View.Render (viewContext, writer); result = writer.ToString(); } – Nathan
또는 단순히 Html.Raw()를 원하십니까? – Nathan
고마워,하지만 네가 뭘하고 있는지 모르겠다. 이것은 MVC 프로젝트가 아니라 WebForms입니다. 난 그냥 poco 모델과 템플릿에서 HTML을 렌더링해야합니다. MVC가없는 Razor를 엔진으로 사용하기를 원합니다. 그래서 필자는 필요할 경우 System.Web.Razor 및 System.Web.WebPages에 대한 참조 만 추가 할 것이라고 생각합니다. –