asp.net mvc:コントローラーから子/サブコントローラーを動的に追加
-
07-07-2019 - |
質問
asp.net mvcでは、ビューからコントローラーを簡単に呼び出し/追加できますが、コントローラーから子/サブコントローラーを追加する最も簡単な方法は何ですか。私が得ているのは、ビューからではなく、コントローラー自体から子コントローラーのリストを動的に作成したいことです。
私が念頭に置いているパターンは、古いibuyspy portal / dnnから派生したもので、ページに挿入するプラグ可能なモジュールのリストを作成します。各モジュールはそれ自体がコントローラーであり、子要求であることを知らない。しかし、dnnはui / viewsを使用してモジュールを注入します。これは、コントローラー内のモジュールのリストを作成する場所として、ビューにそれらを注入するように指示します。
事前に感謝、
ジェシー
解決
目的のモジュールに対応する情報を含むオブジェクトの配列がビューモデルにある場合、次のようにRenderActionを使用してそれらをビューに挿入できます。
<div id="LeftColumn">
<% foreach (module in Model.Modules) {
Html.RenderAction(module.ActionName, module.ControllerName, new {id = module.id});
} %>
</div>
RenderActionは、コントローラーのメソッドを呼び出すメソッドであり、RenderActionが呼び出される場所のページに結果を挿入します。これは ASP.NET MVC Futuresアセンブリの一部です。
所属していません StackOverflow