none
Deshabilitar el evento OnMouseOver por el evento OnClick del control Menu de ASP.Net RRS feed

  • Pregunta

  • Hola a todos,

     Deseo cambiar la funcionalidad del control Menu de ASP.Net para que funcione únicamente con el evento OnClick, debido a que tengo un menu con varios niveles de detalle, las opciones del menu se crean de manera dinámica y para un usuario puede ser problematico intercatuar con el control menu.

    Utilice la información del siguiente post http://forums.asp.net/t/1138755.aspx titulado Menu Control - Use OnClick instead of OnMouseOver y cree un control personalizado de Menu utilizando el siguiente código fuente:

    Imports System.IO
    Imports System.Text
    Imports System.Web.UI
    Imports System.Web.UI.WebControls
    
    Public Class MenuModificado
        Inherits Menu
    
        Protected Overrides Sub Render(writer As System.Web.UI.HtmlTextWriter)
            Dim stringBuilder As New StringBuilder
            Dim stringWriter As New StringWriter(stringBuilder)
            Dim htmlWriter As New HtmlTextWriter(stringWriter)
            MyBase.Render(htmlWriter)
            Dim html As String = stringBuilder.ToString
            'html = html.Replace("onmouseover=""Menu_HoverStatic(this)""", "onclick=""Menu_HoverStatic(this)""")
            html = html.Replace("onmouseover=\""Menu_HoverStatic(this)\""", "onclick=\""Menu_HoverStatic(this)\""")
            writer.Write(html)
        End Sub
    End Class

    Al usarlo en la pagina, el evento Render no funciona como lo necesito, sigue funcionando el evento OnMouseOver.

    Gracias

    Nota: probe por separado las siguientes posibilidades, y ninguna me funciono.

    • html = html.Replace("onmouseover=""Menu_HoverStatic(this)""""onclick=""Menu_HoverStatic(this)""")
    • html = html.Replace("onmouseover=\""Menu_HoverStatic(this)\""""onclick=\""Menu_HoverStatic(this)\""")





    • Editado Varnak viernes, 15 de julio de 2016 3:31
    domingo, 10 de julio de 2016 17:48

Respuestas