2011-09-14 55 views
1

我使用Asp.Net並在網頁上有一個打印機友好的按鈕。我有一個打印友好的css文件,用於打印後面的代碼。這有效,但最初必須點擊兩次,之後只能點擊一次。有人知道爲什麼2點擊從代碼隱藏的asp.net打印頁面

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 
+3

爲什麼不在整個頁面加載中包含printer_friendly.css?現在,用戶無法使用正常的打印按鈕來獲取正確的樣式表。 – NotMe

+0

嗯,我想我可以在打印partail頁面後將其重置爲初始頁面css。我將編輯代碼。這樣他們可以用正常的打印按鈕打印整個頁面。 – TroyS

+2

通常有一個「頁內」打印按鈕的操作與瀏覽器打印按鈕不同,這是一個壞主意。但是,將2個樣式表發送到瀏覽器用於顯示,另一個用於打印是常見的。 – NotMe

回答

2

因爲您在第一次點擊時附加了「onclick」事件,所以您必須最初單擊它兩次。您需要將其附加在page_load或page_init上。看起來好像你最好不要使用服務器控件,或者只是將「OnClientClick ='window.print();返回false;'」添加到服務器控件的標記中。

+0

謝謝@justin。它非常有用。 – Sagotharan