如何通过编程方式在ASP.NET MVC中检索所有控制器列表?
- 内容介绍
- 文章标签
- 相关推荐
本文共计227个文字,预计阅读时间需要1分钟。
在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
本文共计227个文字,预计阅读时间需要1分钟。
在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

