asp.net-mvc - 我们可以在 Controller 中添加虚拟 Action 项吗?

标签 asp.net-mvc

考虑有一个基类的情况

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()
}
  1. 如果我们打电话 http://loclhost:666/My/Index 派生类 Controller 但基类索引,它会正确使用 View 吗 派生类?
  2. 如果这是不可能的,那么我们如何解决它,同时避免 对所有具体 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/

相关文章:

c# - 客户端验证 "required",使用 ASP.NET MVC UI Api 中的 kendo DropDownList 的条件逻辑

jquery - 异步更新div ---更新注释

c# - HTML 5 视频无法从我的 MVC 网站播放

asp.net-mvc - 对 HTTP POST 请求的正确响应是什么?

c# - MVC 和 WebAPI "Multiple types were found that match the controller named..."

c# - 可选参数必须是引用类型、可为 null 的类型,或者声明为可选

c# - 使用 ASP.NET MVC 创建 LINQ to SQL 数据模型的数据上下文

c# - 在 View MVC 中显示列表

c# - 在 IIS 中发布后未呈现 BundleConfig

asp.net-mvc - 使用 NHibernate 子集合自动映射对象