If I understand your problem correctly you are trying to disable access to some pages according to the current users credentials. To solve this problem, you need to cache the state of the menu in the Page.Session object. On loading the menu, you can quickly and easily reference this same Session variable.
So, if the Session["MenuSetup"] (or whatever you call it) is null, then you know that you need to parse the current users access to the menu items. If is has a value, just pass it to your SetMenuItemsVisibility function.
The way I see it, it isn't necessary to use the Global.asax.cs file at all. Set up a static function on a seperate class, so it can be used in multiple places through your app.
hope this helps and isn't too confusing
Get A Computer Job!
Computer Parts & Accessories