Dynamic Database Driven menu of this article called all time problem RRS feed

  • Question

  • User-1634295357 posted

    About this article (its a great article btw):

    I want some ideias about performance, because the "if(!this.IsPostBack)" enters all time.
    For example, in menu when I go to Services>consulting, will call the page consulting.aspx to open, but again the PopulateMenu is called to unnecessarily.
    Because I understand that just being called once and all the child pages that are to be opened inside it, would not have to re-run the method PopulateMenu, because when calling a childpage, it will not make the menu be modified, so there is no reason for it to be called PopulateMenu again.
    For hundreds of users, there will be performance impact to call the PopulateMenu method several times unnecessarily.

    I dont know if I explain ok, what I mean is that every time another page is called the menu is reloaded a second time, third...
    When the menu is loaded a first time, I want it to be maintained without needing to be fired again a second time, or third time (every time some page is triggered).

    For example, when you run the project for the first time, it is normal to load the menu, and then clicking a menu item to open a page below will enter the postback by calling and loading the menu again (that is, the second time) and page that will be shown below as child, but there would be no need for the menu to be loaded again only to show the child page below.

    I've been thinking about maybe the menu be a webusercontrol and the pages be called inside an iframe, and when a page like consulting.aspx is called, only a postback inside the iframe will occur, keeping the menu unloaded a second time, because the menu will not be modified in real time, so it does not need to be reloaded.
    That's pretty much what I'm thinking, some way of loading the menu a first time, keeping it stored without needing to be called again by preventing postback in the menu, and only having postback on pages called (maybe inside an iframe?).

    What you think, its possible? and how, have some suggestions?

    thanks in advanced

    Tuesday, August 14, 2018 1:36 PM

All replies