Question

Je suis intéressé par l'utilisation d'un " onmouseover " événement pour faire apparaître et disparaître une listbox. Je suis assez nouveau avec ASP.NET et je ne veux pas écrire javascript pour l'instant. J'essaie d'utiliser le code suivant et la partie de changement de couleur de celui-ci fonctionne, mais la visibilité de la liste déroulante ne fonctionne pas:

if (! IsPostBack)             {                 Button2.Attributes.Add ("onmouseover", "this.style.backgroundColor = 'Red', ListBox3.style.visibility = 'visible'");             }

        if (!IsPostBack)
        {
            Button2.Attributes.Add("onmouseout", "this.style.backgroundColor='Blue', ListBox3.style.visibility='hidden'");
        }

J'ai essayé ce code avec et sans "PostBack", et toujours pas de chance. Est-ce que quelqu'un voit où mon code me manque?

Merci,

DFM

Était-ce utile?

La solution

Essayez:

    if (!IsPostBack)
    {
        btnHide.Attributes.Add("onmouseout", "this.style.backgroundColor='Blue';ListBox3.style.display='none'");
        btnShow.Attributes.Add("onmouseover", "this.style.backgroundColor='Red';ListBox3.style.display='block'");
    }

La propriété de visibilité fonctionne un peu différemment de la propriété d'affichage. Lorsque la propriété de visibilité est définie sur "masqué", l'élément est masqué, mais la présentation n'est pas affectée, mais lorsque vous définissez la propriété d'affichage sur "aucune", l'élément est supprimé, ce qui peut affecter la présentation.

Si vous souhaitez modifier la visibilité de la liste sans affecter la présentation, vous pouvez utiliser un div comme wrapper, puis modifier sa propriété de visibilité.

<div id="wrapper">          
    <asp:ListBox ID="ListBox3" runat="server"></asp:ListBox>            
</div>
<asp:Button ID="btnShow" runat="server" Text="Button" />
<asp:Button ID="btnHide" runat="server" Text="Button" />

Modifiez l'ASPX pour activer la propriété de visibilité de l'élément div qui contient la zone de liste.

if (!IsPostBack)
{
    btnHide.Attributes.Add("onmouseout", "this.style.backgroundColor='Blue';wrapper.style.visibility='hidden'");
    btnShow.Attributes.Add("onmouseover", "this.style.backgroundColor='Red';   wrapper.style.visibility='visible'");
}
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top