121

私はASP.NET4.0WebAPIを初めて使用します。POSTアクションの最後に別のURLにリダイレクトできますか?Response.Redirect(url)

実際、私はMVCアプリケーション(たとえばwww.abcmvc.com)からWeb API(たとえば)を介してwww.abcwebapi.com/uploadファイルをアップロードします

これがPOSTuploadアクションです。マルチパートフォームをWebAPIアップロードコントローラーの投稿アクションに投稿します。アップロードした後、にリダイレクトしたいと思いwww.abcmvc.comます。

これは可能ですか?

4

4 に答える 4

225

もちろん:

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;
}
于 2012-07-04T08:02:19.170 に答える
27

URLをハードコーディングせずにWebサイトのルートにアクセスする別の方法は次のとおりです。

var response = Request.CreateResponse(HttpStatusCode.Moved);
string fullyQualifiedUrl = Request.RequestUri.GetLeftPart(UriPartial.Authority);
response.Headers.Location = new Uri(fullyQualifiedUrl);

注: MVCWebサイトとWebApiの両方が同じURLにある場合にのみ機能します

于 2013-06-30T14:14:23.787 に答える
11
    [HttpGet]
    public RedirectResult Get()
    {
        return RedirectPermanent("https://www.google.com");
    }
于 2017-09-18T09:34:39.107 に答える
6

これを確認できます

[Route("Report/MyReport")]
public IHttpActionResult GetReport()
{

   string url = "https://localhost:44305/Templates/ReportPage.html";

   System.Uri uri = new System.Uri(url);

   return Redirect(uri);
}
于 2016-02-17T05:52:53.450 に答える