在mvc4中下载文件时显示等待对话框

时间:2014-05-06 20:58:02

标签: c# asp.net-mvc-4

我从sql数据库生成excel文件,sql datatable包含50k数据,因此该文件需要很长时间才能下载。所以我想在下载该文件时向用户显示一个等待对话框。有什么建议吗?

2 个答案:

答案 0 :(得分:0)

你可以试试我用jquery做的方式。这将在漫长的过程中显示加载图像。

在_Layout.cshtml中添加gif(加载图片)。把它放在体内。

<div id="loaderblock"></div>
    <div id="loadercontainer">
        <img src="~/Images/sampleloadingimage.gif" />
    </div>

将此添加到您的Site.css

#loadercontainer { display:none;position: fixed;margin-top: 20%; margin-left: 45%;  z-index: 999999;}

#loaderblock {background: #000; opacity:0.6;  position: fixed; width: 100%; height: 100%; top:0; left:0; display:none;}

在您的视图中添加此javascript。

function generateexcel() {
 $('#loaderblock').fadeIn();
 $('#loadercontainer').fadeIn();

 $("#idofyourform").submit(); //submit your form

}

并将提交按钮更改为以下内容:

<input type="button" value="Generate Excel" onclick="generateexcel();" />

此示例将向您展示其工作原理:sample

答案 1 :(得分:0)

这不是我的issuse.i希望只在文件下载时加载图像显示。当文件成功下载并且浏览器出现保存对话框时,加载图像应自动消失。