在我的控制器上方拥有此属性:
[Route("preflight/{textSlug}")]
[Route("magazine/{textSlug}")]
[Route("content/{textSlug}")]
如何获取模板的第一部分(例如:飞行前) 不使用:
var path = Request.Path.Value.ToLower();
if (path.Contains("preflight")
不是正则表达式。
答案 0 :(得分:0)
要获取当前的请求路由模板,您可以尝试ControllerContext.ActionDescriptor.AttributeRouteInfo.Template
。
[Route("preflight/{textSlug}")]
[Route("magazine/{textSlug}")]
[Route("content/{textSlug}")]
public IActionResult Privacy()
{
var route = ControllerContext.ActionDescriptor.AttributeRouteInfo.Template;
return View();
}
答案 1 :(得分:0)
如何给Route
一个Name
,例如[Route("preflight/{textSlug}", Name="preflight")]
?
您可以通过以下方式获取请求使用的路由:
var name = ControllerContext.ActionDescriptor.AttributeRouteInfo.Name;