考虑这种情况下,有一个基类我们可以在控制器中使用虚拟操作项吗?
public abstract class BaseController:Controller
{
public virtual ActionResult Index() => View();
}
显然我们不能有由于它是抽象的视图基类。下面是派生类:
public class MyController: BaseController
{
// everything but no Index()
}
public class AnotherController:BaseController
{
// again all except Index()
}
- 如果我们打个电话http://loclhost:666/My/Index派生类 控制器,但基类指数,将它正确使用视图派生类的 ?
- 如果这是不可能的,那么我们如何解决它,同时避免 重复所有具体控制器类的Index()?
我可能无法正确理解问题,但;你可以使'Index'方法摘要:'public abstract ActionResult Index();'所以派生类必须实现它。 –
你的伪代码在派生控制器中说:“一切都没有Index()”,但是你说“但派生类有索引视图定义” - 这有点令人困惑?我认为从你的问题,你的意见在伪代码是错误的,但这将是很好的澄清或更正... – Chris
也难道你不是很容易测试如何工作?写一些适当的控制器,写一些测试视图,运行它,看看会发生什么...这是一个有趣的问题,但我一定会保留它并提交一个答案,但它只是让我觉得你可以很容易地测试它... – Chris