Voici ce que je fais ...
Permettre à la fenêtre de s'imprimer et de se fermer en fonction d'un paramètre de requête.
Nécessite jQuery. Peut être fait dans _Layout ou master page pour travailler avec toutes les pages.
L'idée est de passer un paramètre dans l'URL indiquant à la page d'imprimer et de fermer, si le paramètre est défini, l'événement jQuery «ready» imprime la fenêtre, puis lorsque la page est complètement chargée (après impression), le «onload» est appelé ce qui ferme la fenêtre. Toutes ces étapes apparemment supplémentaires consistent à attendre que la fenêtre s'imprime avant de se fermer.
Dans le corps html, l'événement d'ajout et de chargement qui appelle printAndCloseOnLoad (). Dans cet exemple, nous utilisons cshtm, vous pouvez également utiliser javascript pour obtenir param.
<body onload="sccPrintAndCloseOnLoad('@Request.QueryString["PrintAndClose"]');">
Dans le javascript, ajoutez la fonction.
function printAndCloseOnLoad(printAndClose) {
if (printAndClose) {
window.open('', '_self', ''); window.close();
}
}
Et un événement prêt pour jQuery.
$(document).ready(function () {
if (window.location.search.indexOf("PrintAndClose=") > 0)
print();
});
Maintenant, lors de l'ouverture d'une URL, ajoutez simplement la chaîne de requête param "PrintAndClose = true" et elle s'imprimera et se fermera.