如何通过编程方式在ASP.NET MVC中获取所有控制器的完整列表?
- 内容介绍
- 文章标签
- 相关推荐
本文共计262个文字,预计阅读时间需要2分钟。
在ASP.NET MVC中,可以通过代码枚举控制器并获取它们的名称。例如,AccountController、HomeController、PersonController等。可以创建一个程序集来枚举这些控制器,并生成一个包含所有控制器名称的列表。如下所示:
csharpusing System;using System.Linq;using System.Reflection;using System.Web.Mvc;
public class ControllerNames{ public static void Main() { var controllers=Assembly.GetExecutingAssembly() .GetTypes() .Where(type=> typeof(Controller).IsAssignableFrom(type) && !type.IsAbstract) .Select(type=> type.Name);
foreach (var controller in controllers) { Console.WriteLine(controller); } }}
这段代码将输出:AccountControllerHomeControllerPersonController
这样,您就可以通过程序集来获取所有控制器的名称,并进行相应的反射操作。
在ASP.NET MVC中有没有办法通过代码枚举控制器并得到他们的名字?例:
AccountController HomeController PersonController
会给我一个列表,如:
Account, Home, Person 您可以通过程序集进行反映,并查找从System.Web.MVC.Controller类型继承的所有类.这是一些示例代码,展示了如何做到这一点:
mvcsitemap.codeplex.com/WorkItem/View.aspx?WorkItemId=1567
本文共计262个文字,预计阅读时间需要2分钟。
在ASP.NET MVC中,可以通过代码枚举控制器并获取它们的名称。例如,AccountController、HomeController、PersonController等。可以创建一个程序集来枚举这些控制器,并生成一个包含所有控制器名称的列表。如下所示:
csharpusing System;using System.Linq;using System.Reflection;using System.Web.Mvc;
public class ControllerNames{ public static void Main() { var controllers=Assembly.GetExecutingAssembly() .GetTypes() .Where(type=> typeof(Controller).IsAssignableFrom(type) && !type.IsAbstract) .Select(type=> type.Name);
foreach (var controller in controllers) { Console.WriteLine(controller); } }}
这段代码将输出:AccountControllerHomeControllerPersonController
这样,您就可以通过程序集来获取所有控制器的名称,并进行相应的反射操作。
在ASP.NET MVC中有没有办法通过代码枚举控制器并得到他们的名字?例:
AccountController HomeController PersonController
会给我一个列表,如:
Account, Home, Person 您可以通过程序集进行反映,并查找从System.Web.MVC.Controller类型继承的所有类.这是一些示例代码,展示了如何做到这一点:
mvcsitemap.codeplex.com/WorkItem/View.aspx?WorkItemId=1567

