[CLOSED] Button disappears on Render in DirectEvent.

  1. #1

    [CLOSED] Button disappears on Render in DirectEvent.

    <%@ Page Language="C#" %>
    
    
    <script runat="server">
        protected void Page_Load( object sender, EventArgs e ) {
        }
        protected void OnClick( object sender, DirectEventArgs e ) {
            // Setup Goto Button
            GotoB.Listeners.Click.Handler = "alert('Test');";
            GotoB.Render();
            GotoB.Enable();
        }
    </script>
    <!DOCTYPE html>
    <html>
    <head id="Head1" runat="server">
        <title>Test43</title>
    </head>
    <body>
        <form id="Form1" runat="server">
            <ext:ResourceManager ID="ResourceManager1" runat="server" ScriptMode="Debug" SourceFormatting="true" />
    
    
            <ext:Viewport ID="vp" runat="server" Layout="VBoxLayout">
                <LayoutConfig>
                    <ext:VBoxLayoutConfig Align="Stretch" />
                </LayoutConfig>
                <Items>
    
    
                    <ext:Panel ID="P" runat="server" Border="false" Padding="3" Flex="1" Title="Test43" Layout="VBoxLayout">
                        <LayoutConfig>
                            <ext:VBoxLayoutConfig Align="Stretch" />
                        </LayoutConfig>
                        <Items>
                            <ext:Label ID="Lbl" runat="server" Flex="1" Text="test" />
                        </Items>
                        <Buttons>
                            <ext:Button ID="Button1" runat="server" Text="Click to add Listener" Type="Submit">
                                <DirectEvents>
                                    <Click OnEvent="OnClick" />
                                </DirectEvents>
                            </ext:Button>
    
    
                            <ext:Button ID="GotoB" runat="server" Text="Alert" Type="Submit" Icon="DatePrevious" Disabled="true">
                            </ext:Button>
    
    
                        </Buttons>
                    </ext:Panel>
    
    
                </Items>
            </ext:Viewport>
        </form>
    </body>
    </html>
    The response code seems good but yet Alert button disappears.
    {"script":"Ext.net.ResourceMgr.destroyCmp(\"App.GotoB\");App.P.add({\"id\":\"GotoB\",\"disabled\":true,\"iconCls\":\"#DatePrevious\",\"text\":\"Alert\",\"type\":\"submit\",\"listeners\":{\"click\":{\"fn\":function(item,e){alert('Test');}}}});App.GotoB.enable();"}
    All I'm trying to do is replace the listener. Replacing listeners seems to be quite a challenge on the server-side.
    Last edited by Daniil; Dec 03, 2013 at 12:50 PM. Reason: [CLOSED]
  2. #2
    Instead Render you need to use ReRender method.
    We will try to improve Render method to avoid mixing Render and ReRender
  3. #3

    Here's another failure at updating a listener...

    <%@ Page Language="C#" %>
    
    
    <script runat="server">
        protected void Page_Load( object sender, EventArgs e ) {
        }
        protected void OnClick( object sender, DirectEventArgs e ) {
            // Setup Goto Button
            //GotoB.Listeners.Click.Handler = "alert('" + cnt++.ToString() + "');";
            //GotoB.Render();
            GotoB.ClearListeners();
            int cnt = Convert.ToInt32( Cnt.Value );
            GotoB.On( "click", new JFunction( "alert('" + cnt++.ToString() + "');" ) );
            Cnt.Value = cnt;
            GotoB.Enable();
        }
    </script>
    <!DOCTYPE html>
    <html>
    <head id="Head1" runat="server">
        <title>Test43</title>
    </head>
    <body>
        <form id="Form1" runat="server">
            <ext:ResourceManager ID="ResourceManager1" runat="server" ScriptMode="Debug" SourceFormatting="true" />
    
    
            <ext:Viewport ID="vp" runat="server" Layout="VBoxLayout">
                <LayoutConfig>
                    <ext:VBoxLayoutConfig Align="Stretch" />
                </LayoutConfig>
                <Items>
    
    
                    <ext:Panel ID="P" runat="server" Border="false" Padding="3" Flex="1" Title="Test43" Layout="VBoxLayout">
                        <LayoutConfig>
                            <ext:VBoxLayoutConfig Align="Stretch" />
                        </LayoutConfig>
                        <Items>
                            <ext:NumberField ID="Cnt" runat="server" Flex="1" Text="0" />
                        </Items>
                        <Buttons>
                            <ext:Button ID="Button1" runat="server" Text="Click to add Listener" Type="Submit">
                                <DirectEvents>
                                    <Click OnEvent="OnClick" />
                                </DirectEvents>
                            </ext:Button>
    
    
                            <ext:Button ID="GotoB" runat="server" Text="Alert" Type="Submit" Icon="DatePrevious" Disabled="true">
                            </ext:Button>
    
    
                        </Buttons>
                    </ext:Panel>
    
    
                </Items>
            </ext:Viewport>
        </form>
    </body>
    </html>
    Clicking Alert Button does not alert.


    Quote Originally Posted by Vladimir View Post
    Instead Render you need to use ReRender method.
    Vladimir, ReRender() works. Thanks.
    Last edited by michaeld; Nov 28, 2013 at 9:30 AM.
  4. #4
    The ClearListeners call removes all the listeners including the internal ones.

    For example, a Button have a listener which listen to the click event on the underlying button's HTML element. This listeners re-fires the Click event on the Button as a component. A ClearListeners call removes that listener as well.

Similar Threads

  1. Replies: 5
    Last Post: Mar 19, 2014, 3:35 AM
  2. [CLOSED] Button Disappears on Mouse Out
    By HOWARDJ in forum 1.x Legacy Premium Help
    Replies: 2
    Last Post: Jan 29, 2013, 9:53 AM
  3. [CLOSED] Panel Collapse Button Disappears
    By softmachine2011 in forum 2.x Legacy Premium Help
    Replies: 4
    Last Post: Aug 21, 2012, 1:05 PM
  4. Replies: 11
    Last Post: Feb 08, 2012, 8:18 AM
  5. [CLOSED] Adding a button directevent in a directevent method
    By ogokgol in forum 1.x Legacy Premium Help
    Replies: 1
    Last Post: May 31, 2011, 10:29 AM

Posting Permissions