jQuery菜单状态

Here's what I'm trying to do... It's quite simple and obviously there must be something wrong in what I'm doing but I can't see it, hope you can help me... I have a Vertical Jquery Menu (using accordions) that I want to remember its state. So, I have this code in my Master Page to handle each click over the accordions:

$(document).ready(function () {
    var toOpen = <%= MySessionInfo.Current.MyMenu %>;
    if(toOpen != -1){            
        $("#accordionMenu").accordion( "activate", toOpen); 
    }

    $("#accordionMenu").click(function (){
        var activate = $("#accordionMenu").accordion("option", "active");
        if (activate != false) {
            $.getJSON("/Account/SetMenu", { CurrentMenu: activate }, function (j) {});
        }
    });
 });

Then I have the Partial View with the Menu defined as a set of divs in which there are one ul and lots of li links for each section.

And in my Account Controller I use this:

public void SetMenu(int CurrentMenu)
{
    MySessionInfo.Current.MyMenu = CurrentMenu;    

}

What's going on?: It works fine in the beginning and saves the state ok but when the next page loads it wont refresh the status. I also observed that right exactly after the "SetMenu" is called from the view and right before going to the called view this error happens:

uncaught exception: [Exception... "Component returned failure code: 0x80040111 (NS_ERROR_NOT_AVAILABLE) [nsIXMLHttpRequest.getAllResponseHeaders]" nsresult: "0x80040111 (NS_ERROR_NOT_AVAILABLE)" location: "JS frame :: http://localhost:20984/Scripts/jquery-1.4.2.min.js :: anonymous :: line 7207" data: no]

I hope you can give me hand on this issue soon... Regards!

var toOpen = '<%= MySessionInfo.Current.MyMenu %>';

The solution is a lot stranger than the question itself. I created a javascript function "updateMenu()" that calls the jquery "activate" and I call it in the end of the body as window.onload=updateMenu:

function updateMenu(){
    var toOpen = <%= MySessionInfo.Current.MyMenu %>;
    if(toOpen != -1){            
        $("#accordionMenu").accordion( "activate", toOpen); 
    }
}

window.onload=updateMenu;

I'm not sure why it works this way and not the other, but it worked fine for me.