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
- Comment ouvrir une popup type "alert" en code-behind ?
- Comment ouvrir une popup html en code-behind ?
- Comment simuler le target="_blank" qui n'est pas valide W3C ?
- Comment afficher une page dans une nouvelle fenêtre de l'explorateur en code-behind ?
- Comment faire une popup de confirmation et récupérer le choix de l'utilisateur en code-behind ?
- Comment fermer la fenêtre courante en code-behind ?
- Comment fermer le navigateur lors d'un click sur un bouton ?
- Comment forcer l'utilisation du browser en plein écran ?
Comme vu dans Comment ajouter du javascript à ma page à partir du code-behind ?, on utilisera RegisterClientScriptBlock.
string
message =
"mon message"
;
Page.
ClientScript.
RegisterClientScriptBlock
(
GetType
(
),
"alert depuis le codehind"
,
string
.
Format
(
"alert('{0}')"
,
message),
true
);
Comme vu dans Comment ajouter du javascript à ma page à partir du code-behind ?, on utilisera RegisterClientScriptBlock.
string
url;
//url de la popup html
int
largeur;
//largeur de la popup
int
hauteur;
//hauteur de la popup
int
x;
//position en x de la popup
int
y;
//position en y de la popup
//la position en x,y se fait à partir du coin supérieur gauche de la fenêtre
Page.
ClientScript.
RegisterClientScriptBlock
(
GetType
(
),
"popup depuis le codehind"
,
string
.
Format
(
"window.open('{0}','_blank','width={1},height={2},top={3},left={4}');"
,
url,
largeur,
hauteur,
x,
y),
true
);
Il faut pour cela passer par du javascript.
<a
href
=
"page.aspx"
onclick
=
"window.open(this.href); return false;"
>
lien</a>
Voici comment afficher une page dans une nouvelle fenêtre en code-behind :
//ouvrir une nouvelle fenetre
Page.
ClientScript.
RegisterClientScriptBlock
(
GetType
(
),
"page dans nouvelle fenetre"
,
"window.open(fichier.aspx?param1='toto'¶m2='titi',
'nomfenetre'
,
'toolbar=yes,status=yes,directories=yes,menubar=yes,location=yes,scrollbars=yes,resizable=yes'
)", true);
Nous allons voir comment afficher une boite de dialogue javascript type confirm (un texte avec un choix oui/non) et comment récupérer en code-behind si l'utilisateur a confirmé en cliquant sur oui. dans votre page aspx :
<
script type=
"text/javascript"
>
function confirmSubmit
(
)
{
var msg =
"Etes vous sûr de vouloir enregistrer vos données?"
;
if (
confirm
(
msg))
{
document
.getElementById
(
'<%= hide.ClientID %>'
).
value =
"oui"
;
}
}
</
script>
<
form
id=
"form1"
runat=
"server"
>
<
asp
:
Button ID=
"butsubmit"
Text=
"GO"
runat=
"server"
/>
<
asp
:
HiddenField runat=
"server"
ID=
"hide"
/>
</
form
>
dans votre code-behind
protected
override
void
OnLoad
(
EventArgs e)
{
butsubmit.
Attributes.
Add
(
"onClick"
,
"return confirmSubmit();"
);
if
(
hide.
Value ==
"oui"
)
{
// Enregistrement;
}
hide.
Value =
""
;
base
.
OnLoad
(
e);
}
Page.
ClientScript.
RegisterClientScriptBlock
(
GetType
(
),
"fermer"
,
"window.close()"
,
true
);
En utilisant le javascript et l'événement onclick
MonButton.
Attributes.
Add
(
"onclick"
,
"window.close();"
);
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>