如何通过编程方式在ASP.NET MVC中检索所有控制器列表?

2026-04-30 16:3514阅读0评论SEO问题
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计227个文字,预计阅读时间需要1分钟。

如何通过编程方式在ASP.NET MVC中检索所有控制器列表?

在ASP.NET MVC中,是否存在通过代码枚举控制器并获取它们名称的方法?例如:AccountController, HomeController, PersonController。可以给我一个列表,如:Account, Home, Person。您可以通过程序集扫描和反射来实现这一功能。以下是一个示例代码:

csharpusing System;using System.Collections.Generic;using System.Linq;using System.Reflection;using System.Web.Mvc;

public class ControllerListController : Controller{ public ActionResult Index() { var controllerTypes=Assembly.GetExecutingAssembly() .GetTypes() .Where(t=> typeof(Controller).IsAssignableFrom(t) && t.IsClass && !t.IsAbstract) .Select(t=> t.Name.Replace(Controller, string.Empty));

return View(controllerTypes.ToList()); }}

在ASP.NET MVC中有没有办法通过代码枚举控制器并得到他们的名字?

例:

AccountController HomeController PersonController

会给我一个列表,如:

Account, Home, Person 您可以通过程序集进行反映,并查找从System.Web.MVC.Controller类型继承的所有类.这是一些示例代码,展示了如何做到这一点:

mvcsitemap.codeplex.com/WorkItem/View.aspx?WorkItemId=1567

如何通过编程方式在ASP.NET MVC中检索所有控制器列表?

本文共计227个文字,预计阅读时间需要1分钟。

如何通过编程方式在ASP.NET MVC中检索所有控制器列表?

在ASP.NET MVC中,是否存在通过代码枚举控制器并获取它们名称的方法?例如:AccountController, HomeController, PersonController。可以给我一个列表,如:Account, Home, Person。您可以通过程序集扫描和反射来实现这一功能。以下是一个示例代码:

csharpusing System;using System.Collections.Generic;using System.Linq;using System.Reflection;using System.Web.Mvc;

public class ControllerListController : Controller{ public ActionResult Index() { var controllerTypes=Assembly.GetExecutingAssembly() .GetTypes() .Where(t=> typeof(Controller).IsAssignableFrom(t) && t.IsClass && !t.IsAbstract) .Select(t=> t.Name.Replace(Controller, string.Empty));

return View(controllerTypes.ToList()); }}

在ASP.NET MVC中有没有办法通过代码枚举控制器并得到他们的名字?

例:

AccountController HomeController PersonController

会给我一个列表,如:

Account, Home, Person 您可以通过程序集进行反映,并查找从System.Web.MVC.Controller类型继承的所有类.这是一些示例代码,展示了如何做到这一点:

mvcsitemap.codeplex.com/WorkItem/View.aspx?WorkItemId=1567

如何通过编程方式在ASP.NET MVC中检索所有控制器列表?