2017-08-24 15 views
0

ASP.NETコア2.0を表示するページには、どのように非同期メソッドからアクションへリダイレクトするために、非同期メソッドを実行し、その後

public IActionResult Processing() 
{ 
    DoWork(); 
    return View(); // returning Processing.cshtml 
    // which contains page with animation 
} 

private async void DoWork() 
{ 
    await DoSomething(); 
    // and here I want to redirect 
    // from page with animation to 
    // to an action 
} 

をリダイレクトしながら? await DoSomething()がデータと連動している間は、常にアニメーションページを表示する必要があります。

+0

あなたのアプローチには注意が必要です。 'Task'を待たずに' async void'を実行するだけで、問題を尋ねています。私は非同期プログラミングについて少しお読みになることをお勧めします。 –

答えて

2

基本的にはできません。

DoWorkメソッドによって返されたTaskを待っていないので、HTTPトランザクションはDoWorkの実行が終了する前に終了しています。 JavaScriptでクライアント側のソリューションへ

スイッチ:

  1. スタートはXHR
  2. 停止HXRが完了したアニメーションでアニメーションに
  3. コール長時間実行操作を実行している

例:Show loading image while $.ajax is performedについては、このスレッドを参照してください。

+0

okですが、私はjsで新しく、これを行う方法はわかりません。 –

+0

誰もコードサンプルを聞くことができますか? –

+0

別のSOスレッドへの回答にリンクを追加しました。 –

関連する問題