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

FAQ ASP.NET / Delphi.NET

FAQ ASP.NET / Delphi.NETConsultez toutes les FAQ

Nombre d'auteurs : 15, nombre de questions : 90, dernière mise à jour : 16 juin 2021 

 
OuvrirSommaireNavigation

Quand on appuie sur la touche TAB du clavier, on fait défiler les différents éléments du formulaire en fesant changer le focus d'élément. Mais la plupart du temps, en aspx le défilement des webcontrols ne se fait pas dans l'ordre souhaité.
Par défaut, le focus fait défiler les webcontrols dans l'ordre dans lequel ils sont déclarés dans la page aspx.
Si vous voulez vous même choisir l'ordre de défilement de vos webcontrols, il faut donner une valeur à la propriété "TabIndex" de votre webcontrol. Par exemple un webcontrol avec un TabIndex=1 sera selectionné au deuxième appui sur la touche TAB.

Créé le 12 octobre 2003  par neo.51

Nous allons voir ici comment récupérer l'url complète (avec les paramètres) de la page sur laquelle on se trouve.

 
Sélectionnez
					var urlRetour : String ;
					param : String ;

					urlRetour := 'http:' + Request.ServerVariables('SERVER_NAME').ToString + Request.ServerVariables('URL').ToString ;

					// On récupère et on ajoute les paramètres s'il y en a
					param := Request.ServerVariables('QUERY_STRING').ToString ;
					if (param <> nil) or (param.Trim().Length <> 0) then
					begin
					urlRetour := urlRetour + '?' + param ;
					end ;
Créé le 28 novembre 2004  par neo.51, bodbod

On peut facilement rafraichir une page à intervale régulier grace à du javascript. Mais quand il faut faire ça en code behind car la fréquence de rafraichissement est variable ou dépend d'une condition, au lieu de se lancer dans des fonction javascript complexe avec une gestion de timer, il existe une fonction toute simple en asp.net :

 
Sélectionnez
					Response.AppendHeader('Refresh', '1') ;

Le temps est exprimé en seconde et on ne peut pas utiliser d'unité de temps plus petite.

Créé le 28 novembre 2004  par neo.51, bodbod

Pour vider le cache d'une page aspx il suffit d'exécuter ces quelques lignes :

 
Sélectionnez
					Response.CacheControl := 'no-cache' ;
					Response.AddHeader('Pragma', 'no-cache') ;
					Response.ExpiresAbsolute := DateTime.Now.Date ;
					Response.Expires := -1 ;
Créé le 28 novembre 2004  par neo.51, bodbod

Les variables de sessions ASP.NET et ASP3 ne communiquent pas.

Cependant il est possible de récupérer les variables de sessions ASP.NET en ASP et inversement à l'aide de traitements plus ou moins complexes. MSDN a publié un "How To" sur le sujet

Créé le 12 octobre 2003  par neo.51

Lien : How to Share Session State Between Classic ASP and ASP.NET

Voyons comment créer dynamiquement le titre d'une page : on parle ici de ce que contient la balise < title>. dans la page aspx :

 
Sélectionnez
					<title id="titrePage" runat=server />

on déclare dans le code behind :

 
Sélectionnez
					private titrePage : HtmlGenericControl ;

pour donner une valeur au titre de la page :

 
Sélectionnez
					titrePage := Page.FindControl('titrePage') as HtmlGenericControl ;
					titrePage.InnerText := 'FAQ ASP.NET' ;
Créé le 28 novembre 2004  par neo.51, johngt , bodbod

Il existe plusieurs méthodes d'authentification par fomulaire en ASP.NET, vous les découvrirez dans cet article de leduke qui pour l'instant n'existe qu'en C#.

Créé le 12 octobre 2003  par neo.51

Lien : L'authentification par formulaire en ASP.NET

Imaginons ce bout de code sur une page appellée via l'url : http://localhost/mapage.aspx?id="1"

 
Sélectionnez
					var id : String ;

					id := Request.Params.Get('id') ;
					// OU
					id := Request.QueryString.Get('id') ;

La variable id récupèrera 1 comme valeur.

Créé le 28 novembre 2004  par neo.51, bodbod

Réponse : En utilisant le contructeur de la classe Uri comme ceci :

à partir de l'url courante :

 
Sélectionnez
					var monUri : Uri ;

					monUri := Uri.Create(Request.Url, '../../autrePage.aspx') ;



ou à partir de n'importe quelle Url :

 
Sélectionnez
					var monUri : Uri ;

					monUri := Uri.Create( Uri.Create('http://www.exemple.com/Contenu/Categorie/Test.aspx') ,
					'../../autrePage.aspx' ) ;

On peut obtenir une réprésentation sous forme de chaîne au lieu d'un objet Uri en appelant ToString() sur les instances d'Uri :

 
Sélectionnez
					Response.Redirect(monUri.ToString()) ;



Merci à Julien Adam

Créé le 28 novembre 2004  par neo.51, bodbod

Voici une petite astuce qui vous permet de positionner l'ascenceur d'une page web au niveau d'un webcontrol.

Tout d'abord on crée un webcontrol, un label sans texte par exemple qui sera invisible sur la page web.

Ensuite, dans votre page aspx :

 
Sélectionnez
<script>location='#<% Response.Write(varpos) %>';</script>



Dans le code behind il suffit ensuite de faire :

 
Sélectionnez
					public varpos : String ; varpos := 'MonWebcontrol' ;

...et l'ascenceur sera possitionné au niveau du label appellé "MonWebcontrol".

Créé le 28 novembre 2004  par neo.51, bodbod

Voici un exemple simple de création de cookie :

 
Sélectionnez
					var cookie : HttpCookie ;
					UserID : String ;

					User := 'neo' ;
					cookie := HttpCookie.Create('User') ;
					cookie.Values.Add('User', User) ;
					Response.Cookies.Add(cookie) ;
Créé le 28 novembre 2004  par neo.51, bodbod

Voici un petit exemple de lecture de cookie :

 
Sélectionnez
					var cookie : HttpCookie ;
					User : String ;

					cookie := Request.Cookies('User') ;
					User := cookie.Value ;
Créé le 28 novembre 2004  par neo.51, bodbod

Un petit bout de code trés simple qui affiche l'url de la page appelante.

 
Sélectionnez
					var str : String ;

					str := Request.ServerVariables('HTTP_REFERER') ;
					Response.Write(str) ;



Attention lors des post back, la page appelante est la page en cours !

Créé le 28 novembre 2004  par neo.51, bodbod

Lien : Working With Server Variables in ASP.NET
Lien : Comment détecter le navigateur d'un visiteur ?
Lien : Comment détecter le langage du navigateur d'un visiteur ?
Lien : Comment récupérer l'adresse ip d'un visiteur ?

Ce bout de code affiche le type de navigateur du client sur la page aspx :

 
Sélectionnez
					var str : String ;

					str := Request.ServerVariables('HTTP_USER_AGENT') ;
					Response.Write(str) ;
Créé le 28 novembre 2004  par neo.51, bodbod

Lien : Working With Server Variables in ASP.NET
Lien : Comment récupérer l'url de la page appelante ?
Lien : Comment détecter le langage du navigateur d'un visiteur ?
Lien : Comment récupérer l'adresse ip d'un visiteur ?

Voici un bout de code vous montrant comment détecter le langage du navigateur d'un visiteur :

 
Sélectionnez
					var str : String ;

					str := Request.ServerVariables('HTTP_ACCEPT_LANGUAGE') ;
					Response.Write(str) ;
Créé le 28 novembre 2004  par neo.51, bodbod

Lien : Working With Server Variables in ASP.NET
Lien : Comment détecter le navigateur d'un visiteur ?
Lien : Comment récupérer l'url de la page appelante ?
Lien : Comment récupérer l'adresse ip d'un visiteur ?

Pour récupérer l'adresse ip d'un visiteur en code-behind :

 
Sélectionnez
					var ip : String ;

					ip := Request.ServerVariables('REMOTE_ADDR') ;
Créé le 28 novembre 2004  par neo.51, bodbod

Lien : Comment détecter le langage du navigateur d'un visiteur ?
Lien : Comment récupérer l'url de la page appelante ?
Lien : Comment détecter le navigateur d'un visiteur ?

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 © 2009 Developpez 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.