asp.net 打印页面中的表格,不打印页面
时间: 2023-12-07 09:55:28 浏览: 83
在 ASP.NET 中,可以通过 JavaScript 来实现只打印页面中的表格,而不打印整个页面。
以下是一个实现的示例代码:
```html
<!DOCTYPE html>
<html>
<head>
<title>Print Table Only</title>
<script type="text/javascript">
function printTable(tableID) {
var table = document.getElementById(tableID);
var newWin = window.open('', 'Print-Window');
newWin.document.open();
newWin.document.write('<html><body onload="window.print()">' + table.outerHTML + '</html>');
newWin.document.close();
setTimeout(function () { newWin.close(); }, 10);
}
</script>
</head>
<body>
<button onclick="printTable('myTable')">Print Table</button>
<table id="myTable">
<tr>
<th>Column 1</th>
<th>Column 2</th>
<th>Column 3</th>
</tr>
<tr>
<td>Row 1, Cell 1</td>
<td>Row 1, Cell 2</td>
<td>Row 1, Cell 3</td>
</tr>
<tr>
<td>Row 2, Cell 1</td>
<td>Row 2, Cell 2</td>
<td>Row 2, Cell 3</td>
</tr>
</table>
</body>
</html>
```
在这个示例中,当点击“Print Table”按钮时,会调用 `printTable` 函数。该函数接受一个参数 `tableID`,表示要打印的表格的 ID。在函数内部,首先获取该表格对象,然后创建一个新窗口,并将该表格的 HTML 写入新窗口中。最后调用 `window.print()` 方法打印该表格,并在打印完成后关闭该窗口。
注意,为了确保打印的效果能够符合预期,需要在打印页面的 CSS 样式中设置适当的打印样式。例如,可以隐藏页面中除表格外的所有元素,可以设置表格的宽度为 100% 等等。
阅读全文