CollapsiblePanelExtender Evento Click

Tengo un CollapsiblePanelExtender con la costumbre de extender y colapso de los botones….Me gustaría tener un evento de clic del fuego apagado cuando el extensor es extenso y diferente haga clic en evento fuego apagado cuando el extensor se derrumbó. Pero el evento más importante es cuando está extendido. Yo podría vivir sin un clic, incluso en colapso.

La mayoría de los ejemplos que he encontrado en línea realizar la búsqueda con: «CollapsiblePanelExtender» «haga clic en evento» es tener el extensor de reaccionar basado en un clic, incluso en otro lugar…

Quiero que el extensor para disparar un JS cuando se hace clic.

¿Cómo debo ir sobre el logro de esto?
Estoy haciendo la pregunta equivocada/utilización incorrecta de las cadenas de búsqueda?

            CollapsiblePanelExtender extendatron = new CollapsiblePanelExtender();
            extendatron.ID = "cpe" + MenuId;
            extendatron.TargetControlID = "pnlContent" + strMenuId;
            extendatron.ExpandControlID = "pnlMenu" + strMenuId;
            extendatron.CollapseControlID = "pnlMenu" + strMenuId;
            extendatron.Collapsed = bCollapsed;
            extendatron.TextLabelID = strMenuName;
            extendatron.ExpandedText = m_strButtonLabelHide;
            extendatron.CollapsedText = m_strButtonLabelShow;
            extendatron.ImageControlID = "imglnk" + strMenuId;
            extendatron.CollapsedImage = "~/App_Themes/default/nbExpand.gif";
            extendatron.ExpandedImage = "~/App_Themes/default/nbCollapse.gif";
            extendatron.SuppressPostBack = true;
            extendatron.ScrollContents = false;

            var extender = $find('extendatron'); //this would be <%=myExtender.ClientID%>
            extender.add_collapsed( function() { alert('collapsed'); });
            extender.add_expanded( function() { alert('expanded'); });
InformationsquelleAutor aggitan | 2009-05-27

2 Kommentare

  1. 3

    Supongo que te refieres a los ASP.Net AJAX Control Toolkit. Usted puede agregar controladores a la contraído y expandido eventos como sigue:

    //this would be <%=myExtender.ClientID%> when using a master page
    var extender = $find('myExtender_ClientId'); 
    extender.add_collapsed( function() { alert('collapsed'); });
    extender.add_expanded( function() { alert('expanded'); });

    Hágamelo saber si usted tiene alguna pregunta…he hecho un poco justo de la personalización de algunos de estos objetos en distintas soluciones.

    • Sí, estoy hablando de la ASP.NET AJAX Control de juegos de Herramientas de panel que puede contraerse extender estoy tratando de agregar mediante programación a través de el código detrás de utilizar un script incrustado
    • Este código se seguirá el trabajo de los extensores de añadido en el lado del servidor. El extensor se crea un objeto de javascript que usted puede obtener una referencia a con la $comando buscar.
    • lo siento, no estoy seguro si fue o no claras…el código que he publicado fue diseñado para funcionar en javascript, no en c#. 🙂
    • ¿Cómo puedo agregar/ejecución en C#?
    • No creo que pueda…esas propiedades/ganchos sólo existen del lado del cliente (javascript).
  2. 0

    Primer lugar, usted necesita para crear una del lado del cliente (JavaScript) onClick evento para el panel de control o usuarios, haga clic en.

    Así, vaya tipo onClick="functionName();"

    <asp:Panel ID="pDocumentHeaderTitle" runat="server" CssClass="collapsePanelHeader" onClick="setCollapseState();"> 
           <asp:Image ID="imgDocumentHeaderHeader" runat="server" ImageUrl="~/images/wadown.gif"/>Document Header
           <asp:Label ID="lblDocumentHeaderHeader" runat="server">(Show)</asp:Label>
    </asp:Panel>

    Siguiente: Agregar este javascript.

    <script type="text/javascript">
        function setCollapseState() {
            var extenderDocumentHeader = document.getElementById("MainContent_cpeDocumentHeader_ClientState");
            setCookie("cpeDocumentHeaderStatus", extenderDocumentHeader.value, 5)
        }
    
        //W3Schools cookie code.
        function setCookie(c_name, value, exdays) {
            var exdate = new Date();
            exdate.setDate(exdate.getDate() + exdays);
            var c_value = escape(value) + ((exdays == null) ? "" : "; expires=" + exdate.toUTCString());
            document.cookie = c_name + "=" + c_value;
        }
    
        //W3Schools cookie code.
        function getCookie(c_name) {
            var i, x, y, ARRcookies = document.cookie.split(";");
            for (i = 0; i < ARRcookies.length; i++) {
                x = ARRcookies[i].substr(0, ARRcookies[i].indexOf("="));
                y = ARRcookies[i].substr(ARRcookies[i].indexOf("=") + 1);
                x = x.replace(/^\s+|\s+$/g, "");
                if (x == c_name) {
                    return unescape(y);
                }
            }
        }
    
    </script>

    Aviso, cuando se carga la página, hay un campo oculto que es su plegables, paneles de estado. Será verdadero o falso. Ir a la página de origen y la búsqueda de la encontrarán.

    A continuación, añadir:

    var extenderDocumentHeader = document.getElementById("MainContent_cpeDocumentHeader_ClientState");

    De modo que al hacer clic, obtener clientes de este estado, guardar en una cookie y su buena para ir!

    • No agregar firmas etc para sus respuestas. Usted debe completar totalmente su perfil en su lugar. Gracias

Kommentieren Sie den Artikel

Bitte geben Sie Ihren Kommentar ein!
Bitte geben Sie hier Ihren Namen ein