asp.net mvc:コントローラーから子/サブコントローラーを動的に追加

StackOverflow https://stackoverflow.com/questions/1419577

質問

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アセンブリの一部です。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top