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 回答