考虑有一个基类的情况
public abstract class BaseController:Controller
{
public virtual ActionResult Index() => View();
}
显然我们无法获得基类的 View ,因为它是抽象的。以下是派生类:
public class MyController: BaseController
{
// everything but no Index()
}
public class AnotherController:BaseController
{
// again all except Index()
}
- 如果我们打电话 http://loclhost:666/My/Index 派生类 Controller 但基类索引,它会正确使用 View 吗 派生类?
- 如果这是不可能的,那么我们如何解决它,同时避免 对所有具体 Controller 类重复 Index()?
最佳答案
是的,它就是这样工作的。您的代码是正确的,ASP.NET MVC 将考虑基类。
我使用 ASP.NET Core MVC 成功测试了它。但是,您的代码中有一个拼写错误:从 lambda 中删除“return”。
public virtual ActionResult Index() => View();
关于asp.net-mvc - 我们可以在 Controller 中添加虚拟 Action 项吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45411607/