我正在使用ASP.NET / C#Web项目。我有一个带iframe的菜单页面,它显示了一个动态的GridView元素,一个打印按钮和一个标题标签等等:
<script type="text/javascript">
function abrirIfr(url) {
$("#ifr1").attr("src", url);
}
</script>
<iframe id="ifr1" src="" width="100%" height="550px" frameBorder="0" style="width: 100%; height: 480px"></iframe>
GridView和其他iframe的内容包含在另一个页面中:
<div id="printTitle" runat="server">
<asp:Label ID="lblTitulo" CssClass="text" runat="server" Text="" Font-Size="x-Large"></asp:Label>
</div>
<asp:UpdatePanel ID="updFamiliares" runat="server" class="center">
<ContentTemplate>
<div runat="server" id="divFamiliares" class="text-center">
<asp:GridView HeaderStyle-CssClass="text-center" HeaderStyle-Wrap="false" RowStyle-Wrap="false" runat="server" ID="grdFamiliares" BorderStyle="None" UseAccessibleHeader="True" CssClass="table table-condensed" Horizontal-Align="Center" OnRowDataBound="grdFamiliares_RowDataBound" OnPreRender="grdFamiliares_PreRender" visible="False">
</asp:GridView>
</div>
<div style="text-align:center">
<asp:Button ID="btnPrint" runat="server" Text="Imprimir" OnClientClick="imprimir();"/>
</div>
</ContentTemplate>
</asp:UpdatePanel>
此外,GridView通过代码背后的“OnPreRender”事件包含辅助功能:
protected void grdFamiliares_PreRender(object sender, EventArgs e)
{
if (grdFamiliares.Rows.Count > 0)
{
if (grdFamiliares.HeaderRow != null)
{
grdFamiliares.HeaderRow.TableSection = TableRowSection.TableHeader;
}
if (grdFamiliares.FooterRow != null)
{
grdFamiliares.FooterRow.TableSection = TableRowSection.TableFooter;
}
}
}
目前我正在尝试打印一些iframe的内容(只有动态GridView和标签元素)。
是否可以获得仅包含GridView和标签项的打印输出,隐藏可访问标题和打印按钮?打印后,我可以返回初始页面的布局并以简单的方式再次显示隐藏的元素吗?
提前感谢您的帮助!