我正在构建一个ASP.NET Core 2.0 Web应用程序。在ASP.NET WEB中,我使用System.Web.Mvc,在其中具有以下行来获取ControllerName:
descriptor.ControllerDescriptor.ControllerName
在ASP.NET Core 2.0中,此方法不起作用,我收到错误消息:
在ASP.NET Core 2.0中,我找不到获取ControllerName的替代方法。
有人有建议吗?
最佳答案
您必须将ActionDescriptor
实例转换为 ControllerActionDescriptor
实例,才能访问ControllerName
属性:
var controllerActionDescriptor = context.ActionDescriptor as ControllerActionDescriptor;
if (controllerActionDescriptor != null)
{
var controllerName = controllerActionDescriptor.ControllerName;
}
相关:How to read action method's attributes in ASP.NET Core MVC?