ASP.NET MVC : 컨트롤러에서 자식/서브 컨트롤러를 동적으로 추가
-
07-07-2019 - |
문제
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 선물 어셈블리.
제휴하지 않습니다 StackOverflow