我在我的MVC代码中使用了动作过滤器我附加了动作过滤器和下面提到的动作,但是这个动作是用MVC动作名称属性装饰的。
但是我想要动作方法原始名称(例如ChangeOrder),但是我将动作过滤器名称作为编辑。我不想删除ActionName属性。
[HttpPost, ActionName("Edit")]
[FormValueRequired("btnSaveOrderStatus")]
public ActionResult ChangeOrder(int id)
{
return View();
}
我应该在不删除ActionName属性的情况下获取Actionmethod原始名称。 请提供我如何在mvc中获取原始名称未装饰的名称。
答案 0 :(得分:2)
您可以通过将ActionName
投射到过滤器中的ReflectedActionDescriptor
来获取与filterContext.ActionDescriptor
相对应的操作方法详细信息。此对象具有MethodInfo
属性,该属性为您提供方法的所有详细信息。
string actionMethodName = (filterContext.ActionDescriptor as ReflectedActionDescriptor)
.MethodInfo
.Name;