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
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.
Nous allons voir ici comment récupérer l'url complète (avec les paramètres) de la page sur laquelle on se trouve.
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
;
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 :
Response.AppendHeader('Refresh'
, '1'
) ;
Le temps est exprimé en seconde et on ne peut pas utiliser d'unité de temps plus petite.
Pour vider le cache d'une page aspx il suffit d'exécuter ces quelques lignes :
Response.CacheControl := 'no-cache'
;
Response.AddHeader('Pragma'
, 'no-cache'
) ;
Response.ExpiresAbsolute := DateTime.Now.Date ;
Response.Expires := -1
;
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
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 :
<title id
=
"titrePage"
runat
=
server />
on déclare dans le code behind :
private
titrePage : HtmlGenericControl ;
pour donner une valeur au titre de la page :
titrePage := Page.FindControl('titrePage'
) as
HtmlGenericControl ;
titrePage.InnerText := 'FAQ ASP.NET'
;
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#.
Imaginons ce bout de code sur une page appellée via l'url : http://localhost/mapage.aspx?id="1"
var
id : String
;
id := Request.Params.Get('id'
) ;
// OU
id := Request.QueryString.Get('id'
) ;
La variable id récupèrera 1 comme valeur.
Réponse : En utilisant le contructeur de la classe Uri comme ceci :
à partir de l'url courante :
var
monUri : Uri ;
monUri := Uri.Create(Request.Url, '../../autrePage.aspx'
) ;
ou à partir de n'importe quelle Url :
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 :
Response.Redirect(monUri.ToString()) ;
Merci à Julien Adam
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 :
<script>
location
=
'
#<% Response.Write(varpos) %>
'
;
</script>
Dans le code behind il suffit ensuite de faire :
public
varpos : String
; varpos := 'MonWebcontrol'
;
...et l'ascenceur sera possitionné au niveau du label appellé "MonWebcontrol".
Voici un exemple simple de création de cookie :
var
cookie : HttpCookie ;
UserID : String
;
User := 'neo'
;
cookie := HttpCookie.Create('User'
) ;
cookie.Values.Add('User'
, User) ;
Response.Cookies.Add(cookie) ;
Voici un petit exemple de lecture de cookie :
var
cookie : HttpCookie ;
User : String
;
cookie := Request.Cookies('User'
) ;
User := cookie.Value ;
Un petit bout de code trés simple qui affiche l'url de la page appelante.
var
str : String
;
str := Request.ServerVariables('HTTP_REFERER'
) ;
Response.Write
(str) ;
Attention lors des post back, la page appelante est la page en cours !
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 :
var
str : String
;
str := Request.ServerVariables('HTTP_USER_AGENT'
) ;
Response.Write
(str) ;
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 :
var
str : String
;
str := Request.ServerVariables('HTTP_ACCEPT_LANGUAGE'
) ;
Response.Write
(str) ;
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 :
var
ip : String
;
ip := Request.ServerVariables('REMOTE_ADDR'
) ;
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 ?