如何从asp.net-mvc控制器中获取所有动作名称?

2026-03-30 11:581阅读0评论SEO资讯
  • 内容介绍
  • 文章标签
  • 相关推荐

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

如何从asp.net-mvc控制器中获取所有动作名称?

从ASP.NET MVC中的控制器获取所有动作名称,可以通过反射来实现。以下是一个简单的示例代码:

csharpusing System;using System.Linq;using System.Web.Mvc;

public class ControllerActions{ public static void Main() { var controllerType=typeof(YourControllerName); // 替换为你的控制器类型 var actions=GetControllerActions(controllerType); foreach (var action in actions) { Console.WriteLine(action); } }

private static IEnumerable GetControllerActions(Type controllerType) { return controllerType.GetMethods() .Where(m=> m.IsPublic && m.DeclaringType==controllerType) .Select(m=> m.Name) .ToList(); }}

这段代码会输出`YourControllerName`控制器中所有公开方法的名称。请将`YourControllerName`替换为实际的控制器类型。

我怎么能编写代码来从asp.net MVC中的控制器获取所有动作名称?

我想自动列出控制器中的所有动作名称.

有谁知道如何做到这一点?

非常感谢.

对此没有通用的解决方案,因为我可以编写从ActionNameSelectorAttribute派生的自定义属性,并使用任何自定义代码覆盖IsValidName,甚至是将名称与随机GUID进行比较的代码.在这种情况下,您无法知道属性将接受哪个操作名称.

如果将解决方案限制为仅考虑方法名称或内置ActionNameAttribute,则可以反映该类以获取返回ActionResult的公共方法的所有名称,并检查它们是否具有其Name属性覆盖方法名称的ActionNameAttribute .

如何从asp.net-mvc控制器中获取所有动作名称?

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

如何从asp.net-mvc控制器中获取所有动作名称?

从ASP.NET MVC中的控制器获取所有动作名称,可以通过反射来实现。以下是一个简单的示例代码:

csharpusing System;using System.Linq;using System.Web.Mvc;

public class ControllerActions{ public static void Main() { var controllerType=typeof(YourControllerName); // 替换为你的控制器类型 var actions=GetControllerActions(controllerType); foreach (var action in actions) { Console.WriteLine(action); } }

private static IEnumerable GetControllerActions(Type controllerType) { return controllerType.GetMethods() .Where(m=> m.IsPublic && m.DeclaringType==controllerType) .Select(m=> m.Name) .ToList(); }}

这段代码会输出`YourControllerName`控制器中所有公开方法的名称。请将`YourControllerName`替换为实际的控制器类型。

我怎么能编写代码来从asp.net MVC中的控制器获取所有动作名称?

我想自动列出控制器中的所有动作名称.

有谁知道如何做到这一点?

非常感谢.

对此没有通用的解决方案,因为我可以编写从ActionNameSelectorAttribute派生的自定义属性,并使用任何自定义代码覆盖IsValidName,甚至是将名称与随机GUID进行比较的代码.在这种情况下,您无法知道属性将接受哪个操作名称.

如果将解决方案限制为仅考虑方法名称或内置ActionNameAttribute,则可以反映该类以获取返回ActionResult的公共方法的所有名称,并检查它们是否具有其Name属性覆盖方法名称的ActionNameAttribute .

如何从asp.net-mvc控制器中获取所有动作名称?