2次单击可从asp.net背后的代码打印页面

2次单击可从asp.net背后的代码打印页面,asp.net,web-applications,Asp.net,Web Applications,我正在使用Asp.Net,网页上有一个打印机友好的按钮。我有一个打印机友好的css文件的打印,这是从背后的代码发射。这是可行的,但一开始必须点击两次,然后再点击一次。有人知道为什么吗 Protected Sub PrintPartialButton_Click(sender As Object, e As EventArgs) Handles PrintPartialButton.Click With PrintPage .Attributes.Remove("me

我正在使用Asp.Net,网页上有一个打印机友好的按钮。我有一个打印机友好的css文件的打印,这是从背后的代码发射。这是可行的,但一开始必须点击两次,然后再点击一次。有人知道为什么吗

   Protected Sub PrintPartialButton_Click(sender As Object, e As EventArgs) Handles PrintPartialButton.Click
    With PrintPage
        .Attributes.Remove("media")
        .Attributes.Remove("href")
        .Attributes.Add("media", "print")
        .Attributes.Add("href", "printer_friendly.css")
    End With

    PrintPartialButton.Attributes.Add("onclick", "window.print(); return false;")
End Sub

最初必须单击两次,因为第一次单击时会附加“onclick”事件。您需要将其附加到页面加载或页面初始化。似乎您最好不要为此使用服务器控件,或者只将“OnClientClick='window.print();return false;”添加到服务器控件的标记中。

为什么不在整个页面加载中包含printer\u-friendly.css?按照现在的方式,用户无法使用正常的打印按钮来获得正确的样式表。我想我可以在打印partail页面后将其重置为初始页面css。我将编辑代码。通过这种方式,他们可以用普通的打印按钮打印整个页面。通常使用“页面内”打印按钮与浏览器的打印按钮操作不同是个坏主意。但是,将两个样式表发送到浏览器,一个用于显示,另一个用于打印是很常见的。但是为什么需要单击两次?@Chris,那么也许推送我想要打印的部分页面应该显示在新窗口中?谢谢@justin。它非常有用。