这个问题很安静,但我无法在网上或微软的文档中找到解决方案(或者我可能看起来不够: - ))
所以在这里,我有一个标有HttpGet属性的方法,路由名称为“GetValues”。有没有办法使用路线名称获取路线的URL(我认为这是路线名称的唯一要点)。
[Route("api/Values")]
public class ValuesController : ControllerBase
{
[HttpGet("{id}", Name = "GetValues")]
public async Task<IActionResult> GetValuesAsync()
{
}
}
答案 0 :(得分:2)
简单的解决方案是:
var url = Url.Link("GetValues", "Values", new { id = 123 });
但完整的网址是:
var url = string.Format("{0}{1}",
Request.Url.Authority,
Url.Action("GetValues", "Values", new { id = 123 }));