Take the 2-minute tour ×
SharePoint Stack Exchange is a question and answer site for SharePoint enthusiasts. It's 100% free, no registration required.

I have a question regarding the loading issue of a page.

Current situation:

I have a page layout in my SharePoint 2007 environment, this page layout defines a lot of web parts we can say up to 40 of them but it can grow more, with a JQuery I create tabs and hide 1/4 of them. So with tabs I'm kinda navigating on the page which has my custom layout, hiding and showing the webparts.

Issue:

Basically because I have so many webparts the perfromance decreases on the page which has this layout, especially some web parts retrieve/show a lot of data.

Solution?

  • So how to solve that kind of problem?
  • Is there another way to implement this?
  • Can I load some webparts on demand, for example when to click on the tab (created by JQuery)?

My first thought was to put 8 webparts that should be shown together each time in update panel, this way I could delay the load, but after investigation I understood that I cannot do that ... I cannot say to UpdatePanel do not load, and load only on a click. That is why I'm looking for a new approach.

Any ideas?

share|improve this question
    
Why not create a new page for each tab? When the user clicks on the tab, he will be navigated to the relevant page with the relevant webparts. –  Vardhaman Deshpande Nov 14 '12 at 10:58
    
Yeah but i rather have tabs because they should be all on the same page ... –  Shkipper Nov 14 '12 at 12:08
    
Shkipper, You should change the layout; keeping so many web parts on a single page isn't a good practice... divide them into separate pages keeping the User Friendly nature of the pages! –  Arsalan Adam Khatri Nov 14 '12 at 12:46
    
I know, but its not up to me, the business people want to have this kind of tab on the same page, as it is all about the same ... so yeah ... –  Shkipper Nov 14 '12 at 12:53
add comment

1 Answer

up vote 2 down vote accepted
  1. Separate each tab's content onto a separate page.
  2. Then on your homepage you can dynamically load each tabs content on-click if you call:

    $("#tab1").load("/pages/tab-1.aspx #MSO_ContentTable")

Then trick to this is the id that you pass in after the url. This way you can tell it to load only your webparts from the other pages and not everything else it would get from the masterpage. The example above uses the id from a 2010 wiki page. You'll have to figure out what selector you have to pass in for a 2007 page.

http://api.jquery.com/load/#loading-page-fragments

share|improve this answer
    
thanks very much, man! –  Shkipper Nov 15 '12 at 6:57
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.