none
Un bouton affiche un panel (asp.net c Sharp) : Comment s’affiche-t-il, ce Panel dans la page sans que la page se monte en haut de l’écran. RRS feed

  • Question

  • Un bouton affiche un panel (asp.net c Sharp)

     

    J’ai un bouton « Panel  » en bas de mon formulaire.

     

    Lorsque l’utilisateur clique sur le bouton « Panel  » on affiche le contenu de ce panel.

     

    Jusqu’au là, ça va…

     

    Mon bouton et le panel sont en bas de mon formulaire et lorsque l’on clique sur le bouton, la page de mon formulaire se monte en haut de l’écran et l’utilisateur doit utiliser « Barres de défilement/scrollbars » pour voir le contenu du « Panel  ».

     

    Alors comment je peux faire pour que, lorsque l’on clique sur le bouton, le panel s’affiche sans que la page se monte en haut.

     

     

    Dans le fichier aspx :

     

     

    <asp:Button CausesValidation="false" Text="Panel" onClick="Show_Next" runat="server"/>
    
    <asp:Panel id="Output" Visible="False" runat="server">
    Contenu du panel : toto 
    </asp:Panel>
    

    Dans mon fichier aspx.cs


    public void Show_Next(object Src, EventArgs Args)
    			{
    		
    			Output.Visible = true;
    			}
    
    Merci et bonne journée

     

    • Déplacé Gabriel MongeonModerator mercredi 19 août 2009 15:31 Plus de chance de trouver une réponse! (Origine :Développement .NET (en général))
    mercredi 19 août 2009 14:03

Réponses

  • Bonjour,

    Pour cela aidez vous de la méthode Page.SetFocus() :
    http://msdn.microsoft.com/en-us/library/e04ah0f4.aspx

    Cordialement
    Gilles TOURREAU - MVP C#
    mercredi 19 août 2009 20:53
    Modérateur

  • Grâce à la réponse de M. Gilles Tourreau, j’ai trouvé la solution :

     

    Voici mon code :

     

    Dans mon fichier aspx :

     

    (…)

     

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <script runat="server">
        void Page_Init(object sender, EventArgs e)
        {
            SetFocus(Output);
            SetFocus(cmbPaysG);
        }
    </script>
    
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    

    (…)

     

    Outpot c’est mon id de Panel

     

    <asp:Panel id="Output" Visible="False" runat="server">

    CmbPaysG c’est l’id de mon menu déroulant

     

     

    <asp:DropDownList ID="cmbPaysG" runat="server" AutoPostBack="True" onselectedindexchanged="cmbPaysG_SelectedIndexChanged"  >

    Pour plus d’info voir le lien de Gilles Tourreau, ci-dessous

     

     

    • Marqué comme réponse aspdos jeudi 20 août 2009 14:58
    jeudi 20 août 2009 14:57

Toutes les réponses

  • Bonjour,

    Pour cela aidez vous de la méthode Page.SetFocus() :
    http://msdn.microsoft.com/en-us/library/e04ah0f4.aspx

    Cordialement
    Gilles TOURREAU - MVP C#
    mercredi 19 août 2009 20:53
    Modérateur
  • Bonjour Gilles Tourreau,

    c'est étincellent... Merci pour votre solution

    jeudi 20 août 2009 14:49

  • Grâce à la réponse de M. Gilles Tourreau, j’ai trouvé la solution :

     

    Voici mon code :

     

    Dans mon fichier aspx :

     

    (…)

     

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <script runat="server">
        void Page_Init(object sender, EventArgs e)
        {
            SetFocus(Output);
            SetFocus(cmbPaysG);
        }
    </script>
    
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    

    (…)

     

    Outpot c’est mon id de Panel

     

    <asp:Panel id="Output" Visible="False" runat="server">

    CmbPaysG c’est l’id de mon menu déroulant

     

     

    <asp:DropDownList ID="cmbPaysG" runat="server" AutoPostBack="True" onselectedindexchanged="cmbPaysG_SelectedIndexChanged"  >

    Pour plus d’info voir le lien de Gilles Tourreau, ci-dessous

     

     

    • Marqué comme réponse aspdos jeudi 20 août 2009 14:58
    jeudi 20 août 2009 14:57