0

ASP.NET MVC3 を使用しています。ビューには、新しいリクエストを開始するリンクが表示されています。

@Html.ActionLink ("Link", "LongAction", "Home")

アクション「LongAction」には時間がかかり、新しいビューを待っている間、まったく新しいビューの読み込みをシミュレートする画像を表示したい:

public ActionResult LongAction()
{
Threas.Sleep(10000);
return View();
}
4

1 に答える 1

0

次のようなことができます。

  1. ユーザークリックボタン
  2. 読み込み中の GIF を表示する
  3. サーバー エンドポイントへの POST/GET
  4. 長時間実行されるタスクのサーバー エンドポイント キック。
  5. ajax リクエストの完了イベントで、ローダーを非表示にします。
  6. ユーザーに通知

Jquery と一緒にバインドすることを検討するか、mvc フレームワークで何かを使用したい場合は、Ajax ActionLinkを見ることができます。どちらの方法でも、javascript を使用してローダーを非表示/表示できます。

JQuery の例:

$('#userButton').click(function(){
    longRunningTask();
    return false;
});

function longRunningTask()
{
     $('#loader').show();
     $.ajax({ 
        url: 'http://serverendpointaddress.co.uk'
     }).done(function(){
        //notify the user
     }).always(function() {
        $('#loader').hide();
     });
}
于 2013-03-07T19:14:16.537 に答える