1
先介绍一下为什么我需要这个。我目前正在创建一个CMS。如果你想象这个CMS有一个PageController,它提供了标准页面需要的所有信息,内容,导航等。MVC:是否可以重写控制器操作?
现在CMS可以为每个使用它的客户端进行修改,并且客户端需要额外/不同的信息我希望覆盖默认的PageController,其中一个专门针对他们的需求量身定制。
这是我曾尝试:
基地控制器
namespace CMS.Core.Controllers {
public class PageController : Controller {
public virtual ActionResult DisplayHome() {
// Logic
return View();
}
}
}
客户特定的控制器
namespace CMS.ClientCore.Controllers {
public class PageController : Core.Controllers.PageController {
public override ActionResult DisplayHome() {
return Content("Client Home"); // Just for testing
}
}
}
路线
routes.MapRouteInLowercase(
"Home",
"",
new { controller = "Page", action = "DisplayHome" },
new[] { "CMS.Core.Controllers", "CMS.ClientCore.Controllers" }
);
的误差
关于 '页' 的请求已经发现以下的匹配控制器: PCCMS.Core.Controllers.PageController
PCCMS.ClientCore.Controllers.PageController
错误的原因很明显,那么是否有替代方法来覆盖控制器/控制器操作?
感谢您的回答。我明白你在说什么,我会重组控制器。 – 2011-05-06 14:49:55