我的问题是,当我点击按钮打印div中的页面(下面的代码)时,它只显示第一页(这是我唯一不想打印的页面)。相反,如果我右键单击;打印,所有页面都可以打印。
我通读了这些问题,并尝试了他们的大多数解决方案,但都无济于事:
window.print() is not printing the whole page
window.print() only prints the âviewableâ part of the screen
ScriptManager.RegisterStartupScript code not working - why?
我也尝试了一些建议:
Advanced CSS Printing â Using CSS Page Breaks
以下是ScriptManager的MSDN条目供参考:
ScriptManager.RegisterStartupScript Method
单击处理程序如下:
protected void btnPrint_OnClick(object sender, EventArgs e)
{
if (!(ViewState["PartsToPrint"] is DataTable dt)) return;
DataView dv = new DataView(dt);
DataTable dtDistinctPartNumbers = dv.ToTable(true, "partNumber");
foreach (DataRow row in dtDistinctPartNumbers.Rows)
{
//pull out the data as needed from the datatable rows
string partNumber = row["partnumber"].ToString();
if (!dbf.IncrementPrintCount(GetSelectedOrganization(), partNumber))
{
setStatus(false, "Error saving print count");
}
}
ScriptManager.RegisterStartupScript(resultsDiv, GetType(), resultsDiv.UniqueID, "window.print();", true);
}
我也试过:
ScriptManager.RegisterStartupScript(this, typeof(Page), "Print", "window.print();", true);
ScriptManager.RegisterStartupScript(resultsDiv, typeof(Page), "Print", "window.print();", true);
以下是相关的CSS:
@media print {
body, html, #wrapper, #resultsDiv,
#ContentPlaceHolder1_resultsDiv {
height: 100%;
width: 100%;
}
p.pagebreakhere {
display: block;
page-break-before: always;
}
}
我需要点击事件,以允许我打印
全部的
页面,不仅仅是第一页。可能更简单地说,给我一个完全相同的对话框,我得到了一个右击&打印。我错过了什么?