문제

ASP.NET MVC에서는 뷰에서 컨트롤러를 쉽게 호출/추가 할 수 있지만 컨트롤러에서 하위/하위 제어기를 추가하는 가장 쉬운 방법은 무엇입니까? 내가 얻는 것은 컨트롤러 자체 내에서 어린이 컨트롤러 목록을 동적으로 구축하고 싶다는 것입니다.

내가 생각한 패턴은 기존 iBuyspy Portal/DNN에서 파생되어 페이지에 주입하려는 플러그 가능한 모듈 목록을 만들어냅니다. 각 모듈 자체는 컨트롤러 자체이며 자식 요청이라는 사실은 무지합니다. 그러나 DNN은 UI/뷰를 사용하여 모듈을 주입하여 컨트롤러에 모듈 목록을 작성하려는 위치와 같이 모듈을 주입 한 다음 뷰를 주입하도록 지시합니다.

미리 감사드립니다.

제시

도움이 되었습니까?

해결책

View 모델에 원하는 모듈에 해당하는 정보가 포함 된 객체 배열이있는 경우 다음과 같은 렌더링을 사용하여보기에 주입 할 수 있습니다.

<div id="LeftColumn">
    <% foreach (module in Model.Modules) { 
        Html.RenderAction(module.ActionName, module.ControllerName, new {id = module.id}); 
    } %>
</div>

RenderAction은 컨트롤러에서 메소드를 호출하고 렌더링이 호출되는 위치의 페이지에 결과를 주입하는 메소드입니다. 그것은의 일부입니다 ASP.NET MVC 선물 어셈블리.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top