我有2个MVC项目。我想直接引用一个公共页面而不必重写。我是这样做的:
public ActionResult test()
{
OldController.Controllers.PatronController temp = new OldController.Controllers.PatronController();
return temp.Index();
}
问题是,在“OldController”中有一些功能可以在OnActionExecuting函数中设置。当我像上面那样调用函数时,没有调用OnActionExecuting。
如何在两个项目之间共享公共页面(我可以将其返回OnActionExecuting
?
答案 0 :(得分:2)
理想情况下,您希望在每个项目中保持导航一致,并仍然重用核心功能。
出于这个原因,我建议:
1)使用动作部分创建第3个MVC项目(部分使用动作方法 - 和控制器)。
2)将新MVC项目的引用添加到2个主要MVC项目中。
3)在每个主MVC项目中,创建在视图中呈现Action Partial的视图。
答案 1 :(得分:1)
创建一个类库的第三个项目,在该库中创建一个ControllerBase类,该类具有两个控制器之间的通用功能,并且每个项目都派生自该控制器类。