显示加载程序直到没有得到服务器的响应

Show loader untill not get response from server

我在我的 Asp.Net MVC 项目中使用 HttpHandler,它获取缩略图图像并加载到 <img /> 标记中。该功能按需正常运行。

但在服务器给出响应之前,我想显示一些加载 icon/message 以便用户可以知道图像仍在加载中。

我的代码:

HttpHandler 代码:

var currentResponse = HttpContext.Current.Response;

string URL = "http://localhost:50417/API/GetThumbnail";
                    HttpWebRequest request = (HttpWebRequest)WebRequest.Create(URL);
                    request.KeepAlive = false;
                    request.ProtocolVersion = HttpVersion.Version10;
                    request.Method = "GET";
                    request.Timeout = 30000;
                    HttpWebResponse response = (HttpWebResponse)request.GetResponse();

                    StreamReader streamr = new StreamReader(response.GetResponseStream());


                    currentResponse.Write(streamr.ReadToEnd());

RouteConfig.cs

routes.Add(new Route("Thumbnail/getImage", new ThumbnailImageRouteHandler()));

index.csHtml

<img src="/Thumbnail/getImage" />

请使用jQuery ajax { beforeSend, complete } 或其他javascript 库或框架来实现您想要的效果。众所周知,只靠asp.net不能传递你的想法。

祝你有愉快的一天!

我已经使用 jQuery 函数来显示加载图像 gif。下面是函数

$(".thumb-img img").one("load", function () {
        // do stuff
        $(this).removeClass("LoaderImg");
    }).each(function () {
        $(this).addClass("LoaderImg");
        if (this.complete) $(this).load();
    });