печать содержимого div из пользовательского элемента управления без открытия нового окна - PullRequest
2 голосов
/ 02 февраля 2010

У меня есть ПОЛЬЗОВАТЕЛЬСКИЙ КОНТРОЛЬ с тегом <div> и кнопкой. Я хочу напечатать содержимое <div> при нажатии кнопки. Только содержимое div и ничего больше, независимо от того, где используется элемент управления. Это без открытия нового окна. Я не могу найти решение, которое работает с каждым браузером!

Спасибо!

Ответы [ 3 ]

4 голосов
/ 02 февраля 2010

Вы можете сгенерировать файл CSS, который исключает все, кроме <div>, что-то в строках:

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

И вот что-то вроде этого в print.css:

* { display: none; }
#specialdiv { display: block; }
0 голосов
/ 02 февраля 2010

Как сказал kb, используйте css, чтобы определить, что есть, а что нет на странице. Если вы хотите кнопку печати, которая печатает только div, следуйте инструкциям kb. Если вы все же хотите, чтобы file-> print вел себя как обычно, измените CSS (media = "print") страницы перед вызовом window.print () и затем верните его в функцию нажатия кнопки.

Извините, что несу плохие новости, но нет исчерпывающего API для печати для javascript!

0 голосов
/ 02 февраля 2010

В обработчике щелчков кнопки на стороне сервера отправьте содержимое, которое вы хотите отобразить:

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 прекращает обработку остальной части вашей страницы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...