Asp.net mvc 2 一次两个控制器?

Asp.net mvc 2 一次两个控制器?,asp.net-mvc-2,Asp.net Mvc 2,嗨,我不知道如何同时使用两个不同的控制器并将数据传递给一个视图?我的意思是我有我的博客控制器和统计控制器。统计数据显示有多少人在线,我想把这些数据放在我博客的主页上。 我认为有两种方法可以起作用: -创建一些ContainerController,并创建BlogController和StatisticsController的对象,然后处理这两种方法 -在BlogController中创建StatisticsController的对象 但我不确定这些解决方案。有什么建议吗?你的问题非常不清楚。据我

嗨,我不知道如何同时使用两个不同的控制器并将数据传递给一个视图?我的意思是我有我的博客控制器和统计控制器。统计数据显示有多少人在线,我想把这些数据放在我博客的主页上。 我认为有两种方法可以起作用: -创建一些ContainerController,并创建BlogController和StatisticsController的对象,然后处理这两种方法 -在BlogController中创建StatisticsController的对象
但我不确定这些解决方案。有什么建议吗?

你的问题非常不清楚。据我所知,您有一个控制器操作返回一个视图,该视图需要在屏幕的一部分包含一些信息。此信息可通过另一个返回局部视图的控制器操作访问。如果是这种情况,那么助手可能正是您要寻找的对象

public class BlogController : Controller
{
    public ActionResult Index()
    {
        return View();
    }
}

public class StatisticsController : Controller
{
    [ChildActionOnly]
    public ActionResult Index()
    {
        return PartialView();
    }
}
在博客控制器的索引视图中,包含以下统计信息:

<%= Html.RenderAction("Index", "Statistics") %>

无需通过控制器即可直接获得局部视图:

<%= Html.RenderPartial("~/views/statistics/index.ascx") %>

但是RenderAction的优点是,如果统计数据需要某个特定的存储库,那么最好通过一个控制器