C# 当我调用另一个控制器';s动作结果函数

C# 当我调用另一个控制器';s动作结果函数,c#,asp.net,asp.net-mvc,asp.net-mvc-3,asp.net-mvc-4,C#,Asp.net,Asp.net Mvc,Asp.net Mvc 3,Asp.net Mvc 4,我有两个MVC项目。有一个公共页面,我想直接引用,而不必重新编写。我是这样做的: public ActionResult test() { OldController.Controllers.PatronController temp = new OldController.Controllers.PatronController(); return temp.Index(); } 问题是,在“OldController”中,有些功能是在OnActionExecuting函数

我有两个MVC项目。有一个公共页面,我想直接引用,而不必重新编写。我是这样做的:

public ActionResult test()
{
    OldController.Controllers.PatronController temp = new OldController.Controllers.PatronController();

    return temp.Index();
}
问题是,在“OldController”中,有些功能是在OnActionExecuting函数中设置的。当我像上面那样调用函数时,不会调用OnActionExecuting


如何在两个项目之间共享公共页面(这样我就可以将其返回到ActionExecuting?

理想情况下,您希望在每个项目中保持导航一致,并且仍然重复使用核心功能

为此,我建议:

1) 使用Action Partial(使用Action方法和控制器的Partial)创建第三个MVC项目

2) 将新MVC项目的参考添加到2个主要MVC项目中


3) 在您的每个主要MVC项目中,创建视图,使您的操作在视图中处于局部状态。

创建第三个项目,该项目是一个类库,并在该类库中创建一个ControllerBase类,该类在两个控制器之间具有通用功能,并且在每个项目中都派生自该控制器类。

Ameen也提到了这一点,使用这种方法,我能够实现我想要的。谢谢这是一个深思熟虑的问题。我想得越多,对它的印象就越深刻+1.