2011-09-14 7 views
1

웹 페이지에서 Asp.Net을 사용 중이며 프린터 친숙한 버튼이 있습니다. 나는 뒤에서 코드를 해고하는 인쇄용 프린터 친화적 인 CSS 파일을 가지고있다. 이것은 작동하지만 처음에는 두 번 클릭해야하고 그 후에는 한 번만 클릭해야합니다. 왜 그런지 알아?코드 숨김에서 페이지를 인쇄하려면 2 번 클릭하십시오.

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

관련 문제