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 > Divers
        Comment charger un frame en code-behind ?
        Comment positionner le focus sur un Webcontrol ?
        Comment récupérer l'appui sur un touche et y associer des traitement ?
        Comment fermer la fenêtre courante en code-behind ?
        Comment fermer le navigateur lors d'un click sur un bouton ?
        Comment fermer une session lorsque l'utilisateur ferme son browser?
        Comment empêcher la saisie de lettres dans un TextBox?
        Comment accéder à un contrôle se trouvant dans un user control en javascript?
        Comment simuler l'appui sur un bouton lors de lors de la touche 'entrée'?
        Comment forcer l'utilisation du browser en plein écran ?
        Comment connaître la résolution du navigateur client ?
        Comment ajouter des attributs javascript à un composant ASP.NET ?
        Comment passer le contenu d'une variable ASP.NET à du javascript ?



Comment charger un frame en code-behind ?
auteur : David Pedehourcq


					Dim url As String ' l'url de la page à charger dans la frame
					Dim target As String 'nom de la frame à charger
					Response.Write("<body><script>window.open(""" & url & " "",""" & target & """);</script></body>")
				

Comment positionner le focus sur un Webcontrol ?
auteur : nannous
Voici une fonction qui vous permettra de mettre le focus sur un Webcontrol qui se trouve dans la page :


					Public Function setFocus(ByVal champs As System.Web.UI.WebControls.WebControl)
					'Champ est le webcontrol sur lequel on veut mettre le focus
					Dim s As String
					s = "<script language= ""javascript"">document.getElementById('" +  _
					champs.ClientID  + ").focus()</script>"
					Page.RegisterStartupScript("focus", s)
					End Function
				

Comment récupérer l'appui sur un touche et y associer des traitement ?
auteur : David Pedehourcq
Nous allons voir comment capturer l'appui sur une touche du clavier coté client et comment y associer du code derrière. Dans cette exemple nous traitons l'appuis sur la touche "enter". dans la page aspx :

					<head>
					<script language="javascript">
					function trap()
					{
					if((event.which && event.which == 13)||(event.keyCode && event.keyCode == 13))
					{
					document.Form1.ToucheReturn.value = 'true';
					document.Form1.submit();
					}
					}

					</script>
					</HEAD>
					<body MS_POSITIONING="GridLayout" onkeypress="Javascript:trap()">
					<form id="Form1" method="post" runat="server">
					<input id="ToucheReturn" type="hidden" value="false" name="ToucheReturn" runat="server">
				
et dans le code-behind :

					Private Sub ToucheReturn_ServerChange(ByVal sender As Object, ByVal e As System.EventArgs) _
					Handles ToucheReturn.ServerChange
					'traitement à associé à l'appuis de la touche
					ToucheReturn.Value = "false" 'on remet le hidden à l'état initial
					End Sub
				

Comment fermer la fenêtre courante en code-behind ?
auteur : David Pedehourcq
Response.Write("<body><script>window.close();</script></body>")

Comment fermer le navigateur lors d'un click sur un bouton ?
auteur : nico-pyright(c)
En utilisant le javascript et l'événement onclick

					MonButton.Attributes.Add("onclick", "window.close();")

				

Comment fermer une session lorsque l'utilisateur ferme son browser?
auteur : rami
Il faut tout d'abord intercepter l'événement sur le client. Pour cela, incluez dans le header de vos pages le script suivant:

					<script id="clientEventHandlersJS" language="text/javascript">
					<--

					function window_onbeforeunload()
					{
					window.navigate('disconnect.aspx');
					}

					//-->
					</script>

				
Ensuite, il faut changer le tag body:

					<body language="javascript" onbeforeunload="return window_onbeforeunload()">
				
A la fermeture du navigateur, la fontion javascript window_onbeforeunload est appelée et la page disconnect.aspx est chargée. Il ne reste plus qu'à fermer la session dans le Page_Load de cette page.

					Sub Page_Load(sender as object, e as EventArgs )
					{
					Session.Abandon()
					}
				

Comment empêcher la saisie de lettres dans un TextBox?
auteur : Didier Danse
Afin d'éviter les retours serveur pour les vérifications, nous sommes souvents tenter de vouloir empêcher la saisie d'un certains types de caractères comme les lettres si l'on attend des chiffres. C'est là que le javascript vient à notre aide en ajoutant des attributs à notre TextBox:

					tonTextBox.Attributes.Add("onKeyPress", "if (event.keyCode < 48 || event.keyCode > 57) event.returnValue = false;")

				
Il est évidemment possible d'empêcher la saisie de chiffres ou tout autre caractère par cette méthode.


Comment accéder à un contrôle se trouvant dans un user control en javascript?
auteur : Didier Danse
Pour pouvoir accéder à un contrôle depuis le javascript, il suffira de combiner l'utilisation de document.getElementById et la valeur de l'identifiant client du contrôle.

					function checkInput()
{
  alert(document.getElementById('<%=txtBox.ClientID %>').Value);
}
				

Comment simuler l'appui sur un bouton lors de lors de la touche "entrée"?
auteur : Didier Danse
De plus en plus, les utilisateurs souhaitent un comportement similaire à ce que l'on trouve dans les applications Windows. Pour simuler l'appui sur un bouton, on peut gérer l'évènement onkeypress et vérifier la touche enfoncée.

					
function fct(evt)
{
    evt = (evt)? evt : event
    var charCode = (evt.which) ? evt.which : evt.keyCode
    if(charCode == 13)
    {
        fonctionAppelee()
        return false;
    }
    else
        return true;
}

				
Pour ajouter cet événement au body:

					
<body onkeypress="fct(event);">...</body>

				

Comment forcer l'utilisation du browser en plein écran ?
auteur : Didier Danse
Il vous faudra passer par du javascript. Placer ce script dans le contenu de votre page et automatiquement, vous utiliserez le browser de sorte que celui-ci occupe tout l'espace disponible.

					 
<script language="javascript">
	// On déplace le browser dans le coin supérieur gauche
	window.moveTo(0,0);
	// On agrandit la fenêtre pour occuper tout l'espace disponible
	window.resizeTo(window.screen.availWidth, window.screen.availheight);            
</script>

				

Comment connaître la résolution du navigateur client ?
auteur : Didier Danse
La théorie nous ferait dire qu'il est nécessaire d'utiliser ce qui existe dans le framework afin de connaître les dimensions de la fenêtre. La pratique nous indique que cette solution ne fonctionne pas à tous les coups. Une méthode qui fonctionne bien plus efficacement nécessite de passer par du javascript et ensuite d'utiliser les valeurs récupérées dans l'application ASP.NET.

					 
<script language="Javascript">
	location.href = location.href + '?resV=' + window.screen.availheight  + '&resH=' +window.screen.availWidth ;
</script>

				
L'exemple ci-dessus redirigera la page en passant des paramètres dans l'url. Il ne restera plus qu'à les récupérer dans ASP.NET.


Comment ajouter des attributs javascript à un composant ASP.NET ?
auteur : Didier Danse
Tout est dans le titre.
Ajoutez un attribut à ce composant. On retrouve donc la syntaxe suivante :

					 
Composant.Attributes.Add("onclick", "alert('on a cliqué sur le composant')") 

				
Vous pouvez bien entendu assigner tous les attributs que vous souhaitez de cette manière.


Comment passer le contenu d'une variable ASP.NET à du javascript ?
auteur : Didier Danse
Ce type de besoin arrive fréquemment. La solution la plus simple est de définir une propriété au niveau d'une page ou encore de passer directement tout autre élément auquel vous avez accès dans votre page de la manière suivante :

					 
<script language="javascript">
	var variableJavascript;
	var uneAutreVariableJavascript ;
	variableJavascript = '<%# variableDotNet %>';
	uneAutreVariableJavascript = '<%# Session["clédesession"].ToString() %>';
</script>
				


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.