在不打开新窗口的情况下从用户控件打印div内容

时间:2010-02-02 14:35:05

标签: asp.net javascript css

我有一个带有<div>标记和按钮的USER CONTROL。我想在单击按钮时打印<div>的内容。只有div的内容,无论控件在何处使用,都没有其他内容。这没有打开一个新窗口。我找不到适合所有浏览器的解决方案!

谢谢!

3 个答案:

答案 0 :(得分:4)

您可能能够生成一个CSS文件,该文件排除了除<div>之外的所有内容,包括以下内容:

<link rel="stylesheet" type="text/css" media="print" href="print.css" />

在print.css中输入类似的东西:

* { display: none; }
#specialdiv { display: block; }

答案 1 :(得分:0)

在按钮的服务器端点击处理程序中,发送您要显示的内容:

protected void MyButton_Click(object sender, EventArgs e) {
    Response.Clear();
    Response.Write(...the content of your div; be nice and add at least some html headers...);
    Response.End();
}

Clear从输出缓冲区移除所有内容,Write输出您的内容,End停止处理您网页的其余部分。

答案 2 :(得分:0)

正如kb所说,使用css来定义页面上打印的内容和内容。 如果你想要一个只打印div的打印按钮,请按照kb的说明进行操作。如果您仍然希望file-&gt; print能够正常运行,请在调用window.print()之前更改页面的(media =“print”)css,然后在按钮的onclick函数中将其恢复。

很抱歉成为坏消息的承载者,但javascript没有全面的打印API!

相关问题