2012-05-29 3 views
0

컨트롤러의 모든 점에서 뷰를 반환 할 때 컨트롤러의 요점을 설명 할 수 있습니까? 나는 그 요점을 놓쳤는가?MVC의 일반 컨트롤러

사용자가보기 (데이터베이스에 저장 됨)를 만들 수있는 초보적인 CMS를 만들려고 할 때 상황을 보았습니다. 물론 사용자 생성시 컨트롤러가 존재하지 않습니다. 그래서 그들에게 봉사하는 또 다른 방법이 있습니까?

어떤 도움을 주셔서 감사합니다. MVC를 완벽하게 이해하려고합니다.

답변

5

컨트롤러의 모든 점이보기를 반환 할 때 컨트롤러의 요점을 설명 할 수 있습니까?

누가 모든 컨트롤러가보기를 반환한다고합니까? 컨트롤러는 다른 많은 일을합니다. 예를 들어, 액션 매개 변수 형태로 사용자 입력을 받고, ModelState.IsValid가 있는지 확인하고 모델에서 일부 처리를 수행 한 다음 MVC pattern의 전체 지점 인보기를 반환 할 수 있습니다.

하지만 물론 그들은 사용자가 생성 한, (데이터베이스에 저장된) 뷰를 만들 수 있습니다 사용자가 컨트롤러의 존재하지 않는 경우 초보적인 CMS 을 구축하려고 할 때 나는 상황에 걸쳐 왔어요

. 그래서 거기에 그들에게 봉사하는 다른 방법이 있습니까?

예, 물론입니다. VirtualPathProvider 클래스를 구현하여 custom virtual path provider을 사용할 수 있습니다.

+0

죄송합니다. 당신이 나를 오해한다고 생각합니다. 사과드립니다. 나는 컨트롤러가 단지 뷰를 반환 할 때 약간의 잔인 함을 의미합니까? 컨트롤러없이 뷰를 렌더링하는 방법이 있습니까? –

+0

죄송합니다. 이미 뷰를 저장하기 위해 VirtualPathProvider를 사용하고 있습니다. 그렇지만 뷰 부분을 만든 "사용자"만 있으면 컨트롤러가 없는데 렌더링하는 방법은 어떻습니까? –

+0

컨트롤러없이 뷰를 렌더링 할 수 없습니다. 이것은 MVC 패턴에 위배됩니다. 이 패턴을 따르고 싶지 않으면 ASP.NET MVC 프레임 워크를 사용하지 마십시오. 사용자 지정 가상 경로 공급자가 데이터베이스에서 확인되도록 주어진 이름으로보기를 렌더링하는 단일 컨트롤러를 가질 수 있습니다. –

관련 문제