Вы хотите использовать HyperlinkControl и подключить обработчик события OnClick к своему коду за методом Print. Когда пользователь нажимает на ссылку, страница отправляется обратно, и возникает событие OnClick. Оттуда вы можете распечатать свой PDF.
В вашем примере функция Print () оценивается при загрузке страницы. Все, что находится в скобках <%%> и <% =%>, оценивается во время рендеринга.
Лучший способ сделать то, что вы хотите, это иметь на своей странице ссылку, которая перенаправляет на страницу ASHX, которая затем выводит PDF непосредственно в поток ответов. Там должно быть много примеров того, как это делается повсюду (Google Ashx). Ссылка будет выглядеть так:
<a href="PrintMyPdf.ashx?PageID=<%= CurrentPageId %>">Print</a>
Это передаст параметр "PageID" в ashx, из которого вы можете определить, какую страницу вы хотите распечатать. Синтаксис <% =%> оценивает выражение (в данном случае это свойство в вашем коде, но это может быть метод или форум) и вставляет результат в эту часть страницы.
Так что, если ваша собственность была:
protected int CurrentPageId { get { return 4; } }
На вашей странице будет написано следующее:
<a href="PrintMyPdf.ashx?PageID=4">Print</a>
Rob