2012-07-23 1 views
2

특정 컨트롤러에 특정 뷰 엔진을 사용하는 방법은 무엇입니까?ASP.NET MVC 2 프로젝트에서 Razor와 Spark를 동시에 사용

이제 내 프로젝트는 MVC2 + Spark 뷰 엔진을 사용합니다. Razor 뷰 엔진으로 마이그레이션하고 싶습니다. 큰 프로젝트이므로이 단계별로 수행하고 싶습니다.

+0

코드를 분기하고 모든보기를 한 번에 마이그레이션하는 것이 좋습니다. 개인적으로 프로덕션 응용 프로그램의 단일 인스턴스에서 여러 렌더링 엔진을 지원하려고 시도하지 않습니다. – Joon

+0

아무런 문제가 나타나지 않습니다. 면도기를 사용하여 새로운 기능 구현 및 단계적으로 오래된 재 작성. –

답변

3

뷰 엔진을 동시에 실행할 수 있습니다. 현재 Spark을 사용하고 있으므로 현재보기 엔진을 지우고 Spark 엔진을 추가하는 global.asax 항목이있을 것입니다. 뭔가처럼이 :

ViewEngines.Engines.Clear(); 
ViewEngines.Engines.Add(new ...); 

MVC는 목록의 첫 번째 뷰 엔진을 찾을 수없는 경우 FindView 및 FindPartial합니다 (ViewEngine 인터페이스의 일부) 작업에 대한 올바른 관점을 찾기 위해 사용하고, 설계 , 다음 뷰 엔진으로 이동하여 시도 할 다른 뷰 엔진이 없을 때까지 적절한 뷰를 찾습니다.

먼저 Razor Views를 찾은 다음 Spark 또는 다른 방향으로 돌아갈 지 여부는 사용자가 결정합니다. 따라서 ViewEngines을 올바른 순서로 배치해야합니다. 또는 기본 엔진을 사용하려면 ViewEngines.EnginesClear() 행을 삭제하고 ViewEngines.Engines.Insert (0, ...)를 사용하여 Spark을 먼저 만들 수 있습니다.

분명하지 않은 경우 global.asax Spark 비트 주위에 코드를 작성하면 더 도움이 될 수 있습니다.