2017-08-24 50 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. 開始運行動畫
  2. 調用長時間運行的操作與XHR
  3. 停止HXR完成時的動畫效果

看到這個線程爲例:Show loading image while $.ajax is performed

+0

好的,但我是新的js,不知道如何做到這一點。 –

+0

任何人都可以聽到代碼示例嗎? –

+0

我在另一個SO線程的答案中添加了一個鏈接。 –