Your Privacy Matters: We use our own and third-party cookies to improve your experience on our website. By continuing to use the website we understand that you accept their use. Cookie Policy
380
WebDataTree issue with IE6 - page won't update/refresh when *not* using UpdatePanel
posted

While testing my code in IE6 I faced a quite strange error and it's simple to reproduce:

1. Create a simple WebDataTree, add some nodes

2. Make sure you are not using ajax and updatePanel (issue doesn't happen when UpdatePanel is present)

3. Trap the OnNodeClick on the server, enable autopostback so your server method gets called then a node is clicked;

4. Now, inside this OnClick method, do something simple like adding/changing Text to/of a asp.net label object.  

5. Do a test: try clicking the node, you will see the node onClick server event is triggered but for some weird reason the page will not be refreshed and the label that you changed will not reflect the changes..

This works perfectly fine with IE8...  PS: while testing I trapped the onclick client event and if I display a javascript "alert" window then the page gets refreshed and the label updated...  So weird!  

I had to give up and changed my code to use an UpdatePanel, then everything works fine, the only problem I was trying to avoid with that is having to manually code the browser's history. Too bad.

Attached is a code sample with this issue (and with the different attempts trying to fix it).

WebDataTreeIE6issue.zip
Parents
No Data
Reply
  • 3726
    posted

    Hi,

    I've saw the sample and you should not try to call the node click handler instead you should have the following:

    <ig:WebDataTree ID="CategoriesTree" runat="server"
    Height="200px" Width="200px" OnNodeClick="nodeClicked">
    <AutoPostBackFlags NodeClick="On" />
    </ig:WebDataTree>
    <asp:Label ID="lblDebug" runat="server" Text=""></asp:Label>

    and on the server side in:

    protected void nodeClicked(object sender, DataTreeNodeClickEventArgs e)
    {
          lblDebug.Text = "Bingo";
    }

    Hope this helps.

    Thanks,

    Lubomir

     

     

Children