Pregunta

Estoy interesado en utilizar un " onmouseover " evento para hacer que un cuadro de lista aparezca y desaparezca. Soy bastante nuevo con ASP.NET y no quiero escribir javascript todavía. Estoy tratando de usar el siguiente código, y la parte de cambio de color funciona, pero la visibilidad del cuadro de lista no funciona:

si (! 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'");
        }

He intentado este código con y sin " PostBack " ;, y aún no he tenido suerte. ¿Alguien ve dónde me está fallando mi código?

Gracias,

DFM

¿Fue útil?

Solución

Prueba:

    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 propiedad de visibilidad funciona un poco diferente a la propiedad de visualización. Cuando la propiedad de visibilidad se establece en 'oculta', el elemento se oculta pero el diseño no se ve afectado, mientras que al configurar la propiedad de visualización en 'ninguno' elimina el elemento por completo, lo que puede afectar al diseño.

Si desea modificar la visibilidad de la lista sin afectar el diseño, puede usar un div como envoltorio y luego modificar su propiedad de visibilidad.

<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" />

Modifique el ASPX para alternar la propiedad de visibilidad del elemento div que contiene el cuadro de lista.

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'");
}
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top