FAQ ASP.NET/C#
FAQ ASP.NET/C#Consultez toutes les FAQ
Nombre d'auteurs : 39, nombre de questions : 371, dernière mise à jour : 15 juin 2021
Voici une fonction qui vous permettra de mettre le focus sur un WebControl qui se trouve dans la page :
public
void
SetFocus
(
WebControl champ)
{
//Champ est le WebControl sur lequel on veut mettre le focus
Page.
ClientScript.
RegisterClientScriptBlock
(
GetType
(
),
"setfocus"
,
string
.
Format
(
"document.getElementById('{0}').focus()"
,
champ.
ClientID),
true
);
}
Certains navigateurs ne supportent pas la fonction javascript getElementById. Afin d'éviter ce problème, je vous conseille de lire la question dans la FAQ javascript.
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>
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 +
&
#8216
;?
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.