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
Sommaire→Programmation coté client→Javascript→Fenêtre et Popup- 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>


