- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
单击导出到 Excel 按钮后,使用下面的 Java 脚本显示加载器。
<script type="text/javascript">
function showProgress() {
var updateProgress = $get("<%= UpdateProgress1.ClientID %>");
updateProgress.style.display = "block";
}
</script>
<asp:Button ID="btntoExcel" runat="server" Text="Export to Excel" onclick="btntoExcel_Click" OnClientClick="showProgress()" Width="115px"
CssClass="styleShowData" Font-Size="Smaller" />
一切正常,但加载器在将文件保存到系统后继续加载。
不知道如何停止加载器,因为在 JS 中它被称为
updateProgress.style.display = " block "
任何建议都会非常有帮助。
提前致谢。
在下方添加完整代码
<%@ Page Language="VB" AutoEventWireup="true" CodeFile="ViewReport.aspx.vb" Inherits="ViewReport" %>
状况报告
<script type="text/javascript">
function showProgress() {
var updateProgress = $get("<%= UpdateProgress1.ClientID %>");
updateProgress.style.display = "block";
}
function hideProgress() {
var updateProgress = $get("<%= UpdateProgress1.ClientID %>");
updateProgress.style.display = "none";
}
</script>
<div runat="server" id="divPopupWindow" align="Left" style="position: relative; top: -11px; left: 0px; background-color: #C8B49B;">
<marquee behavior="alternate"><asp:Label ID="mqHeader1" runat="server" Text="Scrolling Employee Info"></asp:Label></marquee>
<br />
<asp:LoginStatus ID="LoginStatus1" runat="server" />
<br /><br />
<asp:UpdatePanel runat="server" ID="UpdatePanel_1">
<ContentTemplate>
<div runat="server" id="divMyPageWidth_2" align="Left" style="position: relative; height: 10%; left: 0px; background-color: #C8B49B;">
<asp:Button ID="btntoExcel" runat="server" Text="Export to Excel" onclick="btntoExcel_Click" OnClientClick="showProgress()" Width="115px"
CssClass="styleShowData" Font-Size="Smaller" />
<asp:Button ID="btnGotoMainPage" runat="server" Text="Goto Main Page"
Width="118px" CssClass="stGotoMainPage"
Font-Size="Smaller" />
<br />
<table>
<tr>
<td class="style2">
<asp:DropDownList ID="ddlStatusSelection" runat="server">
<asp:ListItem Selected="True">Approved</asp:ListItem>
<asp:ListItem>Pending</asp:ListItem>
<asp:ListItem>Rejected</asp:ListItem>
</asp:DropDownList>
</td>
<td class="style3">
<asp:DropDownList ID="ddlShowRecordsCount" runat="server">
<asp:ListItem Selected="True">25</asp:ListItem>
<asp:ListItem>50</asp:ListItem>
<asp:ListItem>100</asp:ListItem>
<asp:ListItem>200</asp:ListItem>
<asp:ListItem>300</asp:ListItem>
<asp:ListItem>400</asp:ListItem>
<asp:ListItem>500</asp:ListItem>
<asp:ListItem>All</asp:ListItem>
</asp:DropDownList>
</td>
<td>
<asp:Button ID="Button1" runat="server" Text="Show Data"
CssClass="styleShowData" />
</td>
</tr>
</table>
<div runat="server" id="divMyPageWidth" align="Left" style="position: relative; background-color: #C8B49B; overflow: scroll">
<asp:GridView ID="gvScreenToExcel" runat="server" AutoGenerateColumns="false" HeaderStyle-Wrap="True" Height="190px" Width="380px"
BackColor="#DEBA84" BorderColor="#DEBA84" BorderStyle="None" BorderWidth="1px"
RowStyle-Wrap="false" Font-Size="Small" >
<FooterStyle BackColor="#F7DFB5" ForeColor="#8C4510" />
<HeaderStyle BackColor="#A55129" Font-Bold="True" ForeColor="White" />
<PagerStyle ForeColor="#8C4510" HorizontalAlign="Center" />
<RowStyle BackColor="#FFF7E7" ForeColor="#8C4510" />
<SelectedRowStyle BackColor="#738A9C" Font-Bold="True" ForeColor="White" />
<SortedAscendingCellStyle BackColor="#FFF1D4" />
<SortedAscendingHeaderStyle BackColor="#B95C30" />
<SortedDescendingCellStyle BackColor="#F1E5CE" />
<SortedDescendingHeaderStyle BackColor="#93451F" />
<AlternatingRowStyle BackColor="#FFE7CE" />
<Columns>
<asp:BoundField DataField="Rec_Num" HeaderText="Record #" />
<asp:BoundField DataField="Remarks" HeaderText="Remarks" />
</Columns>
</asp:GridView>
</div>
</div>
</ContentTemplate>
<Triggers>
<asp:PostBackTrigger ControlID = "btntoExcel" />
</Triggers>
</asp:UpdatePanel>
<asp:UpdateProgress ID="UpdateProgress1" runat="server" AssociatedUpdatePanelID="UpdatePanel_1">
<ProgressTemplate>
<div class="modal">
<div class="center">
<img alt="" src="Loader.gif" />
</div>
</div>
</ProgressTemplate>
</asp:UpdateProgress>
</div>
</form>
最佳答案
关于此场景的一些事实以及解决方案之前提供的信息:
真正的下载应该发生在常规(非异步)回发期间。因此,注册“asp:PostBackTrigger”通常是正确的。否则,Sys.WebForms.PageRequestManagerParserErrorException - what it is and how to avoid it .
当 HttpReponse.End 方法(通常/总是export) 参与。
如果严格要求显示自定义进度指示器(而不是在下载期间运行的浏览器进度指示器),请实现以下解决方案:
下面是使用提供的标记测试的完整工作代码:
<script type="text/javascript">
function showProgress() {
//var updateProgress = $get("<%= UpdateProgress1.ClientID %>");
//updateProgress.style.display = "block";
}
var prm = Sys.WebForms.PageRequestManager.getInstance();
prm.add_initializeRequest(prm_InitializeRequest);
prm.add_endRequest(prm_EndRequest);
function prm_InitializeRequest(sender, args) {
alert("Starting Update Panel Async Request... Saving File... Displaying Progress Indicator...");
}
function prm_EndRequest(sender, args) {
alert("Update Panel Async Request Finished. File Saved, But Not Yet Downloaded. Progress Indicator Should Be Already Hidden. Starting Real Download...");
var btnDoRealDownloadClientObject = $get("<%= btnDoRealDownload.ClientID %>");
btnDoRealDownloadClientObject.click();
}
</script>
<asp:UpdatePanel runat="server" ID="UpdatePanel_1">
<ContentTemplate>
...
<asp:Button ID="btntoExcel" runat="server" Text="Export to Excel" OnClick="btntoExcel_Click" OnClientClick="showProgress()" ... />
<asp:Button ID="btnDoRealDownload" runat="server" OnClick="btnDoRealDownload_Click" style="display: none" ... />
...
</ContentTemplate>
<Triggers>
<%--<asp:PostBackTrigger ControlID="btntoExcel" />--%>
<asp:AsyncPostBackTrigger ControlID="btntoExcel" />
<asp:PostBackTrigger ControlID="btnDoRealDownload" />
</Triggers>
</asp:UpdatePanel>
<asp:UpdateProgress ID="UpdateProgress1" runat="server" AssociatedUpdatePanelID="UpdatePanel_1">
...
</asp:UpdateProgress>
//CS
protected void btntoExcel_Click(object sender, EventArgs e) {
Session["SavedFile"] = SAVE_FILE_AS_MEMORY_STREAM;
...
}
protected void btnDoRealDownload_Click(object sender, EventArgs e) {
MemoryStream stream = Session["SavedFile"] as MemoryStream;
...
Page.Response.BinaryWrite(stream.ToArray());
Page.Response.End();
}
'VB
Protected Sub btntoExcel_Click(ByVal sender As Object, ByVal e As EventArgs)
Session("SavedFile") = SAVE_FILE_AS_MEMORY_STREAM
...
End Sub
Protected Sub btnDoRealDownload_Click(ByVal sender As Object, ByVal e As EventArgs)
Dim stream As MemoryStream = CType(Session("SavedFile"), MemoryStream)
...
Page.Response.BinaryWrite(stream.ToArray)
Page.Response.End
End Sub
关于javascript - 在导出期间显示更新进度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51099002/
我的Angular-Component位于一个flexbox(id =“log”)中。可以显示或隐藏flexbox。 我的组件内部有一个可滚动区域,用于显示日志消息。 (id =“message-li
我真的很困惑 有一个 phpinfo() 输出: MySQL 支持 启用 客户端 API 版本 5.5.40 MYSQL_MODULE_TYPE 外部 phpMyAdmin 显示: 服务器类型:Mar
我正在研究这个 fiddle : http://jsfiddle.net/cED6c/7/我想让按钮文本在单击时发生变化,我尝试使用以下代码: 但是,它不起作用。我应该如何实现这个?任何帮助都会很棒
我应该在“dogs_cats”中保存表“dogs”和“cats”各自的ID,当看到数据时显示狗和猫的名字。 我有这三个表: CREATE TABLE IF NOT EXISTS cats ( id
我有一个字符串返回到我的 View 之一,如下所示: $text = 'Lorem ipsum dolor ' 我正在尝试用 Blade 显示它: {{$text}} 但是,输出是原始字符串而不是渲染
我无法让我的链接(由图像表示,位于页面左侧)真正有效地显示一个 div(包含一个句子,位于中间)/单击链接时隐藏。 这是我的代码: Practice
关闭。这个问题需要多问focused 。目前不接受答案。 想要改进此问题吗?更新问题,使其仅关注一个问题 editing this post . 已关闭 4 年前。 Improve this ques
最初我使用 Listview 来显示 oracle 结果,但是最近我不得不切换到 datagridview 来处理比 Listview 允许的更多的结果。然而,自从切换到数据网格后,我得到的结果越来越
我一直在尝试插入一个 Unicode 字符 ∇ 或 ▽,所以它显示在 Apache FOP 生成的 PDF 中。 这是我到目前为止所做的: 根据这个基本帮助 Apache XSL-FO Input,您
我正在使用 node v0.12.7 编写一个 nodeJS 应用程序。 我正在使用 pm2 v0.14.7 运行我的 nodejs 应用程序。 我的应用程序似乎有内存泄漏,因为它从我启动时的大约 1
好的,所以我有一些 jQuery 代码,如果从下拉菜单中选择了带有前缀 Blue 的项目,它会显示一个输入框。 代码: $(function() { $('#text1').hide();
当我试图检查 Chrome 中的 html 元素时,它显示的是 LESS 文件,而 Firefox 显示的是 CSS 文件。 (我正在使用 Bootstrap 框架) 如何在 Chrome 中查看 c
我是 Microsoft Bot Framework 的新手,我正在通过 youtube 视频 https://youtu.be/ynG6Muox81o 学习它并在 Ubuntu 上使用 python
我正在尝试转换从 mssql 生成的文件到 utf-8。当我打开他的输出 mssql在 Windows Server 2003 中使用 notepad++ 将文件识别为 UCS-2LE我使用 file
很难说出这里问的是什么。这个问题是含糊的、模糊的、不完整的、过于宽泛的或修辞性的,无法以目前的形式得到合理的回答。如需帮助澄清此问题以便重新打开它,visit the help center 。 已关
我正在尝试执行单击以打开/关闭一个 div 的功能。 这是基本的,但是,点击只显示 div,当我点击“关闭”时,没有任何反应。 $(".inscricao-email").click(function
假设我有 2 张卡片,屏幕上一次显示一张。我有一个按钮可以用其他卡片替换当前卡片。现在假设卡 1 上有一些数据,卡 2 上有一些数据,我不想破坏它们每个上的数据,或者我不想再次重建它们中的任何一个。
我正在使用 Eloquent Javascript 学习 Javascript。 我在 Firefox 控制台上编写了以下代码,但它返回:“ReferenceError:show() 未定义”为什么?
我正在使用 Symfony2 开发一个 web 项目,我使用 Sonata Admin 作为管理面板,一切正常,但我想要做的是,在 Sonata Admin 的仪表板菜单上,我需要显示隐藏一些菜单取决
我试图显示一个div,具体取决于从下拉列表中选择的内容。例如,如果用户从列表中选择“现金”显示现金div或用户从列表中选择“检查”显示现金div 我整理了样本,但样本不完整,需要接线 http://j
我是一名优秀的程序员,十分优秀!