如何解决使用 Javascript 的 ASP.NET 自定义打印不检索 DropDownList 值
我们在 aspx 页面上有一个自定义打印按钮。 该按钮使用以下代码打开带有打印对话框的新页面。除了包含大量项目的下拉列表外,所有元素都在打印预览中正确显示。其他下拉列表选择的值显示正确,但只有 5-6 个项目。
但是如果我 print->cancel->print ,第二次显示预览打印页面时,下拉选择的值显示正确。 Ctr+P 也可以正常工作,但它会打印整个页面(不是必需的)。 这个问题对于 chrome/firefox/edge 是一样的
<script type="text/javascript">
function CallPrint(strid) {
var WinPrint = window.open('',"",'width=1500,height=1500');
var prtContent = document.getElementById(strid);
WinPrint.document.write(prtContent.innerHTML);
WinPrint.document.write('<link rel=stylesheet href=StyleSheet.css>')
WinPrint.document.close();
WinPrint.onload = function () { // wait until all resources loaded
WinPrint.focus();
WinPrint.print();
WinPrint.close();
};
setTimeout(window.close,500);
return true;
}
</script>
aspx 的一部分
<div id="print"> ......
<td class="auto-style162">
<ajaxToolkit:ComboBox ID="dd_aj" runat="server" AutoCompleteMode="Suggest" DataSourceID="sql_aj" DataTextField="Job_No" DataValueField="Job_Key" DropDownStyle="DropDownList" MaxLength="0" Style="display: inline;">
</ajaxToolkit:ComboBox>
</td> .....
<asp:Button ID="BtnPrint" runat="server" Text="Print" OnClientClick="javascript:CallPrint('print');" CssClass="alert info" />
</div>
与标准(非 ajaxtoolkit)下拉列表相同的结果。
我知道使用 CSS Media 打印,但我们现在不能使用它。
我尝试使用 setTimeout 并查看了此处的其他线程,例如 asp.net Printing Page using javascript
我怀疑由于下拉列表中有很多项目,所以渲染时间太长。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。