0

asp.netサイトをWebformからMVC2にアップグレードし始めたところです。これまでのところ、Webformよりも明確で軽量です。私は、さまざまなアクションでユーザーコントロールをレンダリングする部分に固執しています。

名前の付いたユーザーコントロールBanner.ascxはに配置されSite.Masterます。これは、HomeController>Indexアクションで設定されているBanner.ascxURLを取得します。DataView["BannerUrl"]URLをにポイントすると、これは正常に実行され/Home/Indexます。ここで、このBanner.ascxコントロールがHomeControllerからのみDataViewを取得するようにします>たとえば、URLを/ Article / Detail / 1にポイントする場合など、ポイントしているアクションにBanner.ascxインデックスを付けます。HomeConttrollerの実行アクションインデックスを取得します。DataView["BannerUrl"]

どんな回答でも大歓迎です。前もって感謝します。

4

1 に答える 1

1

他のサーバー側コードを呼び出すのと同じ方法でMVCコントローラーを呼び出すことができます。IControllerFactory登録されたインスタンスには、を介してアクセスできますControllerBuilder.GetControllerFactory()。次に、コントローラーファクトリを使用して、パラメーターIControllerののルート値を渡すことにより、インスタンスの初期化されたインスタンスを取得できます(これらは、MVCライフサイクルが受信した場合と同じ方法でアクションを実行します。 リクエスト。RouteDataRequestContextcontroller = "Home"action = "Index"IController.Execute()

于 2012-06-08T04:19:44.097 に答える