IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

FAQ ASP.NET/VB.NET

logo
Sommaire > ASP.NET et Javascript en code-behind > Impression
        Comment faire un aperçu avant impression sur le client?
        Comment lancer une impression de la page web chez le client?
        Comment prévenir l'utilisateur que sa session se termine?
        Comment imprimer la page courante lors d'un clic sur un bouton ?



Comment faire un aperçu avant impression sur le client?
auteur : Didier Danse
Cette commande n'est pas possible sur Internet Explorer avant la version 4, Netscape avant la version 4 également et d'autres anciens navigateurs.

Il est donc conseillé de détecter le navigateur afin de vérifier si la commande est implémentée ou non.

					<script language="JavaScript">
					function ieExecWB( intOLEcmd, intOLEparam )
					{
					var WebBrowser = '<OBJECT ID="WebBrowser1" WIDTH=0 HEIGHT=0 CLASSID="CLSID:8856F961-340A-11D0-A96B-00C04FD705A2"></OBJECT>';
					document.body.insertAdjacentHTML('beforeEnd', WebBrowser);
					if (!intOLEparam || intOLEparam < -1 || intOLEparam > 1 )
					{
					intOLEparam = 1;
					}
					WebBrowser1.ExecWB( intOLEcmd, intOLEparam );
					WebBrowser1.outerHTML = "";
					};

					</script>
				
lien : fr Rendre du code javascript compatible multi-navigateurs
lien : faq Comment lancer une impression de la page web chez le client?

Comment lancer une impression de la page web chez le client?
auteur : Didier Danse
Cette commande n'est pas possible sur Internet Explorer avant la version 4, Netscape avant la version 4 également et d'autres anciens navigateurs.

Il est donc conseillé de détecter le navigateur afin de vérifier si la commande est implémentée ou non.

					Response.Write("<body><script>window.print();</script></body>")
				
lien : fr Rendre du code javascript compatible multi-navigateurs
lien : faq Comment faire un aperçu avant impression sur le client?

Comment prévenir l'utilisateur que sa session se termine?
auteur : Didier Danse
Dans certains cas, il est important pour l'utilisateur d'être averti que sa session va bientôt se terminer, par exemple lorsqu'il peut encoder des informations.

Un exemple complet où l'utilisateur est juste averti du temps restant:

					
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %> 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>Untitled Page</title>
    <script type="text/javascript">
    function temps_deco()
    {
        value = document.getElementById('timeOut').innerHTML;
        value = value-1;
        document.getElementById('timeOut').innerHTML = value;
        if (value == 120)
            document.getElementById('expired').style.display = 'block';
            // on peut également imaginer de faire un retour serveur (__doPostBack)
        else
            setTimeout("temps_deco()", 1000);
        }
    </script>
</head>
<body>
    <form id="form1" runat="server">
    <div align="center">
        Votre session va se terminer dans <asp:Label runat="server" ID="timeOut" /> secondes.
        <br/>
        Nous vous conseillons donc d'enregistrer les informations fournies...
        <br/>
        Vous realiserez donc une sauvegarde et une continuité de votre session.
    </div>
    <div id="expired" style="display: none;">
        Attention: La session se termine dans moins de 2 minutes
    </div>
        </form>
        <script type="text/javascript">
            temps_deco();
        </script>
</body>
</html>

				
et dans le Page_Load:

					
Protected Sub Page_Load(sender as Object, e as EventArgs)
timeOut.Text = CString(Session.Timeout*60))
End Sub

				

Comment imprimer la page courante lors d'un clic sur un bouton ?
auteur : Didier Danse
L'impression doit se passer sur le client, c'est pourquoi il est nécessaire de réaliser l'impression en javascript. Pour lier la fonction javascript à un bouton (ou tout autre composant), il vous suffit de lui définir sur quel évènement la fonction sera appelée, comme nous l'expliquons dans la question Comment ajouter des attributs javascript à un composant ASP.NET ? :

					 
buPrint.Attributes.Add("onClick", "javascript:window.print();")

				


Consultez les autres F.A.Q's


Les sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée par les droits d'auteur. Copyright © 2007 Dotnet Developpez LLC. Tous droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site ni de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.