Return asp 核心中的控制器和网络操作信息 api
Return info of controller and actions with web api in asp core
我需要 return 在 asp 核心中使用网络 api 的操作和控制器信息。
我有这个控制器:
[BreadCrumb(Order = 0)]
[DisplayName("سطح دسترسی پویا")]
[Route("api/[controller]")]
public class ValuesController : Controller
{
// GET api/values
[DisplayName("برگشت اطلاعات")]
[BreadCrumb(Order = 1)]
[HttpGet]
public IEnumerable<string> Get()
{
return new string[] { "value1", "value2" };
}
}
现在我需要 return DisplayName
和所有信息。我该怎么做?
您可以使用以下代码:
var controllerInfo = ControllerContext.ActionDescriptor.ControllerTypeInfo.CustomAttributes;
var methodInfo = ControllerContext.ActionDescriptor.MethodInfo.CustomAttributes;
你可以试试:
[DisplayName("Controller Display Name")]
[Route("api/[controller]")]
public class ValuesController : Controller
{
// GET api/values
[HttpGet]
[DisplayName("Action Display Name")]
public IEnumerable<string> Get()
{
var ControllerDisplayName = string.Empty;
var ActionsDisplayName = string.Empty;
var ControllerAttributes = ControllerContext.ActionDescriptor.ControllerTypeInfo.GetCustomAttributes(typeof(DisplayNameAttribute), true);
if (ControllerAttributes.Length > 0)
{
ControllerDisplayName = ((DisplayNameAttribute)ControllerAttributes[0]).DisplayName;
}
var ActionAttributes = (ControllerContext.ActionDescriptor.MethodInfo.GetCustomAttributes(typeof(DisplayNameAttribute), false));
if (ActionAttributes.Length > 0)
{
ActionsDisplayName = ((DisplayNameAttribute)ActionAttributes[0]).DisplayName;
}
return new string[] { ControllerDisplayName, ActionsDisplayName };
}
}
我需要 return 在 asp 核心中使用网络 api 的操作和控制器信息。
我有这个控制器:
[BreadCrumb(Order = 0)]
[DisplayName("سطح دسترسی پویا")]
[Route("api/[controller]")]
public class ValuesController : Controller
{
// GET api/values
[DisplayName("برگشت اطلاعات")]
[BreadCrumb(Order = 1)]
[HttpGet]
public IEnumerable<string> Get()
{
return new string[] { "value1", "value2" };
}
}
现在我需要 return DisplayName
和所有信息。我该怎么做?
您可以使用以下代码:
var controllerInfo = ControllerContext.ActionDescriptor.ControllerTypeInfo.CustomAttributes;
var methodInfo = ControllerContext.ActionDescriptor.MethodInfo.CustomAttributes;
你可以试试:
[DisplayName("Controller Display Name")]
[Route("api/[controller]")]
public class ValuesController : Controller
{
// GET api/values
[HttpGet]
[DisplayName("Action Display Name")]
public IEnumerable<string> Get()
{
var ControllerDisplayName = string.Empty;
var ActionsDisplayName = string.Empty;
var ControllerAttributes = ControllerContext.ActionDescriptor.ControllerTypeInfo.GetCustomAttributes(typeof(DisplayNameAttribute), true);
if (ControllerAttributes.Length > 0)
{
ControllerDisplayName = ((DisplayNameAttribute)ControllerAttributes[0]).DisplayName;
}
var ActionAttributes = (ControllerContext.ActionDescriptor.MethodInfo.GetCustomAttributes(typeof(DisplayNameAttribute), false));
if (ActionAttributes.Length > 0)
{
ActionsDisplayName = ((DisplayNameAttribute)ActionAttributes[0]).DisplayName;
}
return new string[] { ControllerDisplayName, ActionsDisplayName };
}
}