0

我刚刚开始将我的 asp.net 站点从 Webform 升级到 MVC 2。到目前为止,它比 Webform 更清晰、更轻松。我坚持以不同的动作渲染用户控件。

我命名的用户控件Banner.ascx被放置在Site.Master. 在 HomeController > Index 操作中设置的这个Banner.ascx获取 url 。DataView["BannerUrl"]当我将 URL 指向/Home/Index. 现在我希望这个Banner.ascx控件只从 HomeController > Index 我指向的任何操作获取 DataView,例如,当指向 /Article/Detail/1 的 URL 时,我希望Banner.ascxHomeController 的运行操作 Index 获取DataView["BannerUrl"]

任何回应表示赞赏。提前致谢。

4

1 回答 1

1

您可以像调用任何其他服务器端代码一样调用 MVC 控制器。您可以通过 访问注册的IControllerFactory实例ControllerBuilder.GetControllerFactory()。然后,您可以使用控制器工厂通过将参数IController中的路由值传递给它来获取实例的初始化实例(这些将是和. 然后将执行 Action 的方式与 MVC 生命周期在收到要求。RouteDataRequestContextcontroller = "Home"action = "Index"IController.Execute()

于 2012-06-08T04:19:44.097 回答