我是ASP.NET 4.0 Web API的新手。我们可以在POST操作结束时重定向到另一个URL吗?类似于...... Response.Redirect(url)
实际上我是通过Web API(比如www.abcmvc.com
)从MVC应用程序(比如www.abcwebapi.com/upload
)上传文件的。
此处upload
是POST操作。我将多部分表单发布到Web API上传控制器的后期操作。上传后,我想重定向回www.abcmvc.com
。
这可能吗?
答案 0 :(得分:186)
不确定
public HttpResponseMessage Post()
{
// ... do the job
// now redirect
var response = Request.CreateResponse(HttpStatusCode.Moved);
response.Headers.Location = new Uri("http://www.abcmvc.com");
return response;
}
答案 1 :(得分:25)
以下是另一种无需对网址进行硬编码即可访问网站根目录的方法:
var response = Request.CreateResponse(HttpStatusCode.Moved);
string fullyQualifiedUrl = Request.RequestUri.GetLeftPart(UriPartial.Authority);
response.Headers.Location = new Uri(fullyQualifiedUrl);
注意: 仅在您的MVC网站和WebApi位于同一网址
时才有效答案 2 :(得分:5)
[HttpGet]
public RedirectResult Get()
{
return RedirectPermanent("https://www.google.com");
}
答案 3 :(得分:2)
您可以查看
[Route("Report/MyReport")]
public IHttpActionResult GetReport()
{
string url = "https://localhost:44305/Templates/ReportPage.html";
System.Uri uri = new System.Uri(url);
return Redirect(uri);
}