我有Asp.Net Core Web应用程序。使用以下控制器
[Produces("application/json")]
[Route("api/[controller]")]
public class TestController
{
[HttpGet]
[Route("firstroute")]
public async Task<IActionResult> FirstMethod()
{
...Some code...
}
[HttpGet]
[Route("secondroute")]
public async Task<IActionResult> SecondMethod()
{
...
SomeMethod(redirectLink)
...
}
}
我需要得到的是到FirstMethod的完全组装的redirectLink(它可能类似于:“ http://localhost/api/test/firstroute”)。 我不需要RedirectToAction,而是将确切的Url作为字符串。 在this.Url或Microsoft.AspNetCore.Http.Extensions中找不到任何合适的方法。
this.Request.GetDisplayUrl()以适当的格式返回结果,但仅适用于被调用的方法。
答案 0 :(得分:0)
您可以像下面这样使用来自 HttpContext.Request 的数据
var Url = string.Format("{0}://{1}{2}", HttpContext.Request.Scheme,HttpContext.Request.Host,"/api/firstroute");
并通过
重新发布return Redirect(Url);