new menu control is very slow

L

lukerk

I was wondering if anyone else found that the new ASP.NET Menu control had
very slow responsivenes on complex pages.

So I inserted this control in a WebControl, bound it to a siteMapDataSource,
and applied a little logic (for roles...but of course we have in-house
security, so I can't use RoleProvider...but that's another question for
later!), and finally apply a few styles with css. Then, just plopped the
..ascx in the Master page.

I don't notice any performance woes when the page is simple, such as a
couple controls and some content. However, some of the reports we generate
are fairly large and we use GridViews to display them. This is when the menu
REALLY slows down. Hovering on a menu item for up to 10 seconds before the
dynamic menus drop down is common.

I've turned of ViewSate, aborted using logic in the code-behind for 'roles',
and even tried removing the styles. Even implementing paging for the
GridViews so they aren't so large! Nothing seems to work.

Can anyone help!?

Thanks!
 
S

Steven Cheng[MSFT]

Hi Lucas,

Welcome to ASPNET newsgroup.
Regarding on the Menu control displaying slow problem, I'm think whether
this is a clientside specific issue since the dynamic menu popup using the
standard output client scripts. So would you also tried testing the problem
page on from some other clients to see whether all of them suffer this
problem? If the problem occurs on all the client, I think you can try
create a reproduce page which contains only the necessary items so that we
can perform some tests on local side...

Thanks,

Steven Cheng
Microsoft Online Support

Get Secure! www.microsoft.com/security
(This posting is provided "AS IS", with no warranties, and confers no
rights.)




--------------------
| Thread-Topic: new menu control is very slow
| thread-index: AcYVQpqmZFO2hHaLRI6mAVvnqXJ3AQ==
| X-WBNR-Posting-Host: 192.209.53.250
| From: =?Utf-8?B?bHVrZXJr?= <[email protected]>
| Subject: new menu control is very slow
| Date: Mon, 9 Jan 2006 09:32:03 -0800
| Lines: 24
| Message-ID: <[email protected]>
| MIME-Version: 1.0
| Content-Type: text/plain;
| charset="Utf-8"
| Content-Transfer-Encoding: 7bit
| X-Newsreader: Microsoft CDO for Windows 2000
| Content-Class: urn:content-classes:message
| Importance: normal
| Priority: normal
| X-MimeOLE: Produced By Microsoft MimeOLE V6.00.3790.0
| Newsgroups: microsoft.public.dotnet.framework.aspnet.webcontrols
| NNTP-Posting-Host: TK2MSFTNGXA03.phx.gbl 10.40.2.250
| Path: TK2MSFTNGXA02.phx.gbl!TK2MSFTNGXA03.phx.gbl
| Xref: TK2MSFTNGXA02.phx.gbl
microsoft.public.dotnet.framework.aspnet.webcontrols:32343
| X-Tomcat-NG: microsoft.public.dotnet.framework.aspnet.webcontrols
|
| I was wondering if anyone else found that the new ASP.NET Menu control
had
| very slow responsivenes on complex pages.
|
| So I inserted this control in a WebControl, bound it to a
siteMapDataSource,
| and applied a little logic (for roles...but of course we have in-house
| security, so I can't use RoleProvider...but that's another question for
| later!), and finally apply a few styles with css. Then, just plopped the
| .ascx in the Master page.
|
| I don't notice any performance woes when the page is simple, such as a
| couple controls and some content. However, some of the reports we
generate
| are fairly large and we use GridViews to display them. This is when the
menu
| REALLY slows down. Hovering on a menu item for up to 10 seconds before
the
| dynamic menus drop down is common.
|
| I've turned of ViewSate, aborted using logic in the code-behind for
'roles',
| and even tried removing the styles. Even implementing paging for the
| GridViews so they aren't so large! Nothing seems to work.
|
| Can anyone help!?
|
| Thanks!
| --
| Lucas
|
 
L

lukerk

I have deployed the project we are working on to a server for our testers and
they have found the same problem. Other developers on the team are not
excempt from this, either.

I can give you some coded stuff, if that's what you are looking for, that
closely emulates the troubles: (sorry if this gets too long!)
--------------------
Default.aspx:

<form id="form1" runat="server">
<div>
<asp:Menu ID="siteMenu" runat="server" CssClass="MS"
DataSourceID="SiteMapDataSource1"
DisappearAfter="300" Orientation="Horizontal">
<StaticHoverStyle BackColor="#66957A"/>
<StaticMenuItemStyle BackColor="#4c83b2"/>
<DynamicHoverStyle BackColor="#66957A"/>
<DynamicMenuItemStyle BackColor="#4c83b2"/>
<DynamicMenuStyle BackColor="#4c83b2"/>
</asp:Menu>
<asp:SiteMapDataSource ID="SiteMapDataSource1" runat="server"
ShowStartingNode="false" />
</div>
<br />
<div>
<asp:GridView ID="GridView1" runat="server" EnableViewState="False">
<HeaderStyle BackColor="Gray" ForeColor="White" />
</asp:GridView>
</div>
</form>

--------------------
Default.aspx.cs:

protected void Page_Load(object sender, EventArgs e)
{
//Some string of names.
string[] Names = ("Bob the Builder,Suzy Snoozy,Frank the Tank,Wendy just
Wendy,Steve Stevenson").Split(',');

//A new dataset with columns.
DataSet newDataSet = new DataSet();
newDataSet.Tables.Add();
foreach (string name in Names)
newDataSet.Tables[0].Columns.Add(name);

//Build a DataSet for the GridView.
//Add more rows by changing i's capacity (ie, 100, 1000, 10000) to see
incremental effects.
for (int i = 0; i < 10; i++)
{
DataRow newRow = newDataSet.Tables[0].NewRow();
foreach (string name in Names)
newRow[name] = name;
newDataSet.Tables[0].Rows.InsertAt(newRow, i);
}

//Bind it.
GridView1.DataSource = newDataSet.Tables[0].DefaultView;
GridView1.DataBind();
}

--------------------
siteMap:

<siteMapNode>
<siteMapNode title="search">
<siteMapNode title="search1" url="Pages/Search1.aspx"/>
<siteMapNode title="search2" url="Pages/Search2.aspx"/>
</siteMapNode>
<siteMapNode title="reports">
<siteMapNode title="downloads">
<siteMapNode title="download1" url="Pages/Download1.aspx"/>
<siteMapNode title="download2" url="Pages/Download2.aspx"/>
<siteMapNode title="download3" url="Pages/Download3.aspx"/>
<siteMapNode title="download4" url="Pages/Download4.aspx"/>
</siteMapNode>
<siteMapNode title="report1" url="Pages/Report1.aspx"/>
<siteMapNode title="report2" url="Pages/Report2.aspx"/>
<siteMapNode title="report3" url="Pages/Report3.aspx"/>
</siteMapNode>
<siteMapNode title="books">
<siteMapNode title="day">
<siteMapNode title="book1" url="Pages/Book1.aspx"/>
<siteMapNode title="book2" url="Pages/Book2.aspx"/>
<siteMapNode title="book3" url="Pages/Book3.aspx"/>
<siteMapNode title="book4" url="Pages/Book4.aspx"/>
</siteMapNode>
<siteMapNode title="month">
<siteMapNode title="book11" url="Pages/Book11.aspx"/>
<siteMapNode title="book12" url="Pages/Book12.aspx"/>
<siteMapNode title="book13" url="Pages/Book13.aspx"/>
<siteMapNode title="book14" url="Pages/Book14.aspx"/>
</siteMapNode>
<siteMapNode title="year">
<siteMapNode title="book21" url="Pages/Book21.aspx"/>
<siteMapNode title="book22" url="Pages/Book22.aspx"/>
<siteMapNode title="book23" url="Pages/Book23.aspx"/>
<siteMapNode title="book24" url="Pages/Book24.aspx"/>
</siteMapNode>
</siteMapNode>
<siteMapNode title="change">
<siteMapNode title="daily">
<siteMapNode title="change1" url="Pages/Change1.aspx"/>
<siteMapNode title="change2" url="Pages/Change2.aspx"/>
<siteMapNode title="change3" url="Pages/Change3.aspx"/>
<siteMapNode title="change4" url="Pages/Change4.aspx"/>
</siteMapNode>
<siteMapNode title="monthly">
<siteMapNode title="change11" url="Pages/Change11.aspx"/>
<siteMapNode title="change12" url="Pages/Change12.aspx"/>
<siteMapNode title="change13" url="Pages/Change13.aspx"/>
</siteMapNode>
<siteMapNode title="record">
<siteMapNode title="record1" url="Pages/Record1.aspx"/>
<siteMapNode title="record2" url="Pages/Record2.aspx"/>
<siteMapNode title="record3" url="Pages/Record3.aspx"/>
<siteMapNode title="record4" url="Pages/Record4.aspx"/>
</siteMapNode>
</siteMapNode>
<siteMapNode title="review">
<siteMapNode title="pending">
<siteMapNode title="review1" url="Pages/Review1.aspx"/>
<siteMapNode title="review2" url="Pages/Review2.aspx"/>
<siteMapNode title="review3" url="Pages/Review3.aspx"/>
</siteMapNode>
<siteMapNode title="completed" url="Pages/Review4.aspx"/>
</siteMapNode>
<siteMapNode title="audit">
<siteMapNode title="pending" url="Pages/Audit1.aspx"/>
<siteMapNode title="completed" url="Pages/Audit2.aspx"/>
</siteMapNode>
</siteMapNode>

So I just created a new website and used the default page/sitemap, etc.,
added links in the siteMap, and added some names to the GridView. Obviously
controls on the real page will be much more complex, but even on this page
you can see the delay by changing the number of records in the GridView in
the code-behind (changing i's capacity). Let me know if this works for you.

Thanks for the welcome, Steven, and thanks for your help!
 
S

Steven Cheng[MSFT]

Hi Lucas,

Thanks for your response.
I've just have a test on the page you provided, seems the menu's dynamic
sub items are poped out quickly, so I'm still thinking this could be a
clientside related issue. Can you find any other boxes that dosn't suffer
the problem with the same page?

Regards,

Steven Cheng
Microsoft Online Support

Get Secure! www.microsoft.com/security
(This posting is provided "AS IS", with no warranties, and confers no
rights.)




--------------------
| Thread-Topic: new menu control is very slow
| thread-index: AcYWIdg3FlORa1rrQ+qMXY81gaAPqw==
| X-WBNR-Posting-Host: 192.209.53.250
| From: =?Utf-8?B?bHVrZXJr?= <[email protected]>
| References: <[email protected]>
<[email protected]>
| Subject: RE: new menu control is very slow
| Date: Tue, 10 Jan 2006 12:10:04 -0800
| Lines: 228
| Message-ID: <[email protected]>
| MIME-Version: 1.0
| Content-Type: text/plain;
| charset="Utf-8"
| Content-Transfer-Encoding: 7bit
| X-Newsreader: Microsoft CDO for Windows 2000
| Content-Class: urn:content-classes:message
| Importance: normal
| Priority: normal
| X-MimeOLE: Produced By Microsoft MimeOLE V6.00.3790.0
| Newsgroups: microsoft.public.dotnet.framework.aspnet.webcontrols
| NNTP-Posting-Host: TK2MSFTNGXA03.phx.gbl 10.40.2.250
| Path: TK2MSFTNGXA02.phx.gbl!TK2MSFTNGXA03.phx.gbl
| Xref: TK2MSFTNGXA02.phx.gbl
microsoft.public.dotnet.framework.aspnet.webcontrols:32376
| X-Tomcat-NG: microsoft.public.dotnet.framework.aspnet.webcontrols
|
| I have deployed the project we are working on to a server for our testers
and
| they have found the same problem. Other developers on the team are not
| excempt from this, either.
|
| I can give you some coded stuff, if that's what you are looking for, that
| closely emulates the troubles: (sorry if this gets too long!)
| --------------------
| Default.aspx:
|
| <form id="form1" runat="server">
| <div>
| <asp:Menu ID="siteMenu" runat="server" CssClass="MS"
| DataSourceID="SiteMapDataSource1"
| DisappearAfter="300" Orientation="Horizontal">
| <StaticHoverStyle BackColor="#66957A"/>
| <StaticMenuItemStyle BackColor="#4c83b2"/>
| <DynamicHoverStyle BackColor="#66957A"/>
| <DynamicMenuItemStyle BackColor="#4c83b2"/>
| <DynamicMenuStyle BackColor="#4c83b2"/>
| </asp:Menu>
| <asp:SiteMapDataSource ID="SiteMapDataSource1" runat="server"
| ShowStartingNode="false" />
| </div>
| <br />
| <div>
| <asp:GridView ID="GridView1" runat="server" EnableViewState="False">
| <HeaderStyle BackColor="Gray" ForeColor="White" />
| </asp:GridView>
| </div>
| </form>
|
| --------------------
| Default.aspx.cs:
|
| protected void Page_Load(object sender, EventArgs e)
| {
| //Some string of names.
| string[] Names = ("Bob the Builder,Suzy Snoozy,Frank the Tank,Wendy just
| Wendy,Steve Stevenson").Split(',');
|
| //A new dataset with columns.
| DataSet newDataSet = new DataSet();
| newDataSet.Tables.Add();
| foreach (string name in Names)
| newDataSet.Tables[0].Columns.Add(name);
|
| //Build a DataSet for the GridView.
| //Add more rows by changing i's capacity (ie, 100, 1000, 10000) to see
| incremental effects.
| for (int i = 0; i < 10; i++)
| {
| DataRow newRow = newDataSet.Tables[0].NewRow();
| foreach (string name in Names)
| newRow[name] = name;
| newDataSet.Tables[0].Rows.InsertAt(newRow, i);
| }
|
| //Bind it.
| GridView1.DataSource = newDataSet.Tables[0].DefaultView;
| GridView1.DataBind();
| }
|
| --------------------
| siteMap:
|
| <siteMapNode>
| <siteMapNode title="search">
| <siteMapNode title="search1" url="Pages/Search1.aspx"/>
| <siteMapNode title="search2" url="Pages/Search2.aspx"/>
| </siteMapNode>
| <siteMapNode title="reports">
| <siteMapNode title="downloads">
| <siteMapNode title="download1" url="Pages/Download1.aspx"/>
| <siteMapNode title="download2" url="Pages/Download2.aspx"/>
| <siteMapNode title="download3" url="Pages/Download3.aspx"/>
| <siteMapNode title="download4" url="Pages/Download4.aspx"/>
| </siteMapNode>
| <siteMapNode title="report1" url="Pages/Report1.aspx"/>
| <siteMapNode title="report2" url="Pages/Report2.aspx"/>
| <siteMapNode title="report3" url="Pages/Report3.aspx"/>
| </siteMapNode>
| <siteMapNode title="books">
| <siteMapNode title="day">
| <siteMapNode title="book1" url="Pages/Book1.aspx"/>
| <siteMapNode title="book2" url="Pages/Book2.aspx"/>
| <siteMapNode title="book3" url="Pages/Book3.aspx"/>
| <siteMapNode title="book4" url="Pages/Book4.aspx"/>
| </siteMapNode>
| <siteMapNode title="month">
| <siteMapNode title="book11" url="Pages/Book11.aspx"/>
| <siteMapNode title="book12" url="Pages/Book12.aspx"/>
| <siteMapNode title="book13" url="Pages/Book13.aspx"/>
| <siteMapNode title="book14" url="Pages/Book14.aspx"/>
| </siteMapNode>
| <siteMapNode title="year">
| <siteMapNode title="book21" url="Pages/Book21.aspx"/>
| <siteMapNode title="book22" url="Pages/Book22.aspx"/>
| <siteMapNode title="book23" url="Pages/Book23.aspx"/>
| <siteMapNode title="book24" url="Pages/Book24.aspx"/>
| </siteMapNode>
| </siteMapNode>
| <siteMapNode title="change">
| <siteMapNode title="daily">
| <siteMapNode title="change1" url="Pages/Change1.aspx"/>
| <siteMapNode title="change2" url="Pages/Change2.aspx"/>
| <siteMapNode title="change3" url="Pages/Change3.aspx"/>
| <siteMapNode title="change4" url="Pages/Change4.aspx"/>
| </siteMapNode>
| <siteMapNode title="monthly">
| <siteMapNode title="change11" url="Pages/Change11.aspx"/>
| <siteMapNode title="change12" url="Pages/Change12.aspx"/>
| <siteMapNode title="change13" url="Pages/Change13.aspx"/>
| </siteMapNode>
| <siteMapNode title="record">
| <siteMapNode title="record1" url="Pages/Record1.aspx"/>
| <siteMapNode title="record2" url="Pages/Record2.aspx"/>
| <siteMapNode title="record3" url="Pages/Record3.aspx"/>
| <siteMapNode title="record4" url="Pages/Record4.aspx"/>
| </siteMapNode>
| </siteMapNode>
| <siteMapNode title="review">
| <siteMapNode title="pending">
| <siteMapNode title="review1" url="Pages/Review1.aspx"/>
| <siteMapNode title="review2" url="Pages/Review2.aspx"/>
| <siteMapNode title="review3" url="Pages/Review3.aspx"/>
| </siteMapNode>
| <siteMapNode title="completed" url="Pages/Review4.aspx"/>
| </siteMapNode>
| <siteMapNode title="audit">
| <siteMapNode title="pending" url="Pages/Audit1.aspx"/>
| <siteMapNode title="completed" url="Pages/Audit2.aspx"/>
| </siteMapNode>
| </siteMapNode>
|
| So I just created a new website and used the default page/sitemap, etc.,
| added links in the siteMap, and added some names to the GridView.
Obviously
| controls on the real page will be much more complex, but even on this
page
| you can see the delay by changing the number of records in the GridView
in
| the code-behind (changing i's capacity). Let me know if this works for
you.
|
| Thanks for the welcome, Steven, and thanks for your help!
| --
| Lucas
|
|
| "Steven Cheng[MSFT]" wrote:
|
| > Hi Lucas,
| >
| > Welcome to ASPNET newsgroup.
| > Regarding on the Menu control displaying slow problem, I'm think
whether
| > this is a clientside specific issue since the dynamic menu popup using
the
| > standard output client scripts. So would you also tried testing the
problem
| > page on from some other clients to see whether all of them suffer this
| > problem? If the problem occurs on all the client, I think you can try
| > create a reproduce page which contains only the necessary items so that
we
| > can perform some tests on local side...
| >
| > Thanks,
| >
| > Steven Cheng
| > Microsoft Online Support
| >
| > Get Secure! www.microsoft.com/security
| > (This posting is provided "AS IS", with no warranties, and confers no
| > rights.)
| >
| >
| >
| >
| > --------------------
| > | Thread-Topic: new menu control is very slow
| > | thread-index: AcYVQpqmZFO2hHaLRI6mAVvnqXJ3AQ==
| > | X-WBNR-Posting-Host: 192.209.53.250
| > | From: =?Utf-8?B?bHVrZXJr?= <[email protected]>
| > | Subject: new menu control is very slow
| > | Date: Mon, 9 Jan 2006 09:32:03 -0800
| > | Lines: 24
| > | Message-ID: <[email protected]>
| > | MIME-Version: 1.0
| > | Content-Type: text/plain;
| > | charset="Utf-8"
| > | Content-Transfer-Encoding: 7bit
| > | X-Newsreader: Microsoft CDO for Windows 2000
| > | Content-Class: urn:content-classes:message
| > | Importance: normal
| > | Priority: normal
| > | X-MimeOLE: Produced By Microsoft MimeOLE V6.00.3790.0
| > | Newsgroups: microsoft.public.dotnet.framework.aspnet.webcontrols
| > | NNTP-Posting-Host: TK2MSFTNGXA03.phx.gbl 10.40.2.250
| > | Path: TK2MSFTNGXA02.phx.gbl!TK2MSFTNGXA03.phx.gbl
| > | Xref: TK2MSFTNGXA02.phx.gbl
| > microsoft.public.dotnet.framework.aspnet.webcontrols:32343
| > | X-Tomcat-NG: microsoft.public.dotnet.framework.aspnet.webcontrols
| > |
| > | I was wondering if anyone else found that the new ASP.NET Menu
control
| > had
| > | very slow responsivenes on complex pages.
| > |
| > | So I inserted this control in a WebControl, bound it to a
| > siteMapDataSource,
| > | and applied a little logic (for roles...but of course we have
in-house
| > | security, so I can't use RoleProvider...but that's another question
for
| > | later!), and finally apply a few styles with css. Then, just plopped
the
| > | .ascx in the Master page.
| > |
| > | I don't notice any performance woes when the page is simple, such as
a
| > | couple controls and some content. However, some of the reports we
| > generate
| > | are fairly large and we use GridViews to display them. This is when
the
| > menu
| > | REALLY slows down. Hovering on a menu item for up to 10 seconds
before
| > the
| > | dynamic menus drop down is common.
| > |
| > | I've turned of ViewSate, aborted using logic in the code-behind for
| > 'roles',
| > | and even tried removing the styles. Even implementing paging for the
| > | GridViews so they aren't so large! Nothing seems to work.
| > |
| > | Can anyone help!?
| > |
| > | Thanks!
| > | --
| > | Lucas
| > |
| >
| >
|
 
L

lukerk

Yes, I have noticed some other controls acting very slow, now that you
mention it. So I added a bunch more, and expanded the menu to test. The
outcome was horrendous!

What are we doing wrong on the client side?! We aren't modifing/adding to
the WebResource.axd file. I guess I always assumed it was the menu after
looking at the source from the page and seeing the bloated table renderings
for the menu.

Thanks again for your help, Steven!

Lucas

--

Steven Cheng said:
Hi Lucas,

Thanks for your response.
I've just have a test on the page you provided, seems the menu's dynamic
sub items are poped out quickly, so I'm still thinking this could be a
clientside related issue. Can you find any other boxes that dosn't suffer
the problem with the same page?

Regards,

Steven Cheng
Microsoft Online Support

Get Secure! www.microsoft.com/security
(This posting is provided "AS IS", with no warranties, and confers no
rights.)




--------------------
| Thread-Topic: new menu control is very slow
| thread-index: AcYWIdg3FlORa1rrQ+qMXY81gaAPqw==
| X-WBNR-Posting-Host: 192.209.53.250
| From: =?Utf-8?B?bHVrZXJr?= <[email protected]>
| References: <[email protected]>
<[email protected]>
| Subject: RE: new menu control is very slow
| Date: Tue, 10 Jan 2006 12:10:04 -0800
| Lines: 228
| Message-ID: <[email protected]>
| MIME-Version: 1.0
| Content-Type: text/plain;
| charset="Utf-8"
| Content-Transfer-Encoding: 7bit
| X-Newsreader: Microsoft CDO for Windows 2000
| Content-Class: urn:content-classes:message
| Importance: normal
| Priority: normal
| X-MimeOLE: Produced By Microsoft MimeOLE V6.00.3790.0
| Newsgroups: microsoft.public.dotnet.framework.aspnet.webcontrols
| NNTP-Posting-Host: TK2MSFTNGXA03.phx.gbl 10.40.2.250
| Path: TK2MSFTNGXA02.phx.gbl!TK2MSFTNGXA03.phx.gbl
| Xref: TK2MSFTNGXA02.phx.gbl
microsoft.public.dotnet.framework.aspnet.webcontrols:32376
| X-Tomcat-NG: microsoft.public.dotnet.framework.aspnet.webcontrols
|
| I have deployed the project we are working on to a server for our testers
and
| they have found the same problem. Other developers on the team are not
| excempt from this, either.
|
| I can give you some coded stuff, if that's what you are looking for, that
| closely emulates the troubles: (sorry if this gets too long!)
| --------------------
| Default.aspx:
|
| <form id="form1" runat="server">
| <div>
| <asp:Menu ID="siteMenu" runat="server" CssClass="MS"
| DataSourceID="SiteMapDataSource1"
| DisappearAfter="300" Orientation="Horizontal">
| <StaticHoverStyle BackColor="#66957A"/>
| <StaticMenuItemStyle BackColor="#4c83b2"/>
| <DynamicHoverStyle BackColor="#66957A"/>
| <DynamicMenuItemStyle BackColor="#4c83b2"/>
| <DynamicMenuStyle BackColor="#4c83b2"/>
| </asp:Menu>
| <asp:SiteMapDataSource ID="SiteMapDataSource1" runat="server"
| ShowStartingNode="false" />
| </div>
| <br />
| <div>
| <asp:GridView ID="GridView1" runat="server" EnableViewState="False">
| <HeaderStyle BackColor="Gray" ForeColor="White" />
| </asp:GridView>
| </div>
| </form>
|
| --------------------
| Default.aspx.cs:
|
| protected void Page_Load(object sender, EventArgs e)
| {
| //Some string of names.
| string[] Names = ("Bob the Builder,Suzy Snoozy,Frank the Tank,Wendy just
| Wendy,Steve Stevenson").Split(',');
|
| //A new dataset with columns.
| DataSet newDataSet = new DataSet();
| newDataSet.Tables.Add();
| foreach (string name in Names)
| newDataSet.Tables[0].Columns.Add(name);
|
| //Build a DataSet for the GridView.
| //Add more rows by changing i's capacity (ie, 100, 1000, 10000) to see
| incremental effects.
| for (int i = 0; i < 10; i++)
| {
| DataRow newRow = newDataSet.Tables[0].NewRow();
| foreach (string name in Names)
| newRow[name] = name;
| newDataSet.Tables[0].Rows.InsertAt(newRow, i);
| }
|
| //Bind it.
| GridView1.DataSource = newDataSet.Tables[0].DefaultView;
| GridView1.DataBind();
| }
|
| --------------------
| siteMap:
|
| <siteMapNode>
| <siteMapNode title="search">
| <siteMapNode title="search1" url="Pages/Search1.aspx"/>
| <siteMapNode title="search2" url="Pages/Search2.aspx"/>
| </siteMapNode>
| <siteMapNode title="reports">
| <siteMapNode title="downloads">
| <siteMapNode title="download1" url="Pages/Download1.aspx"/>
| <siteMapNode title="download2" url="Pages/Download2.aspx"/>
| <siteMapNode title="download3" url="Pages/Download3.aspx"/>
| <siteMapNode title="download4" url="Pages/Download4.aspx"/>
| </siteMapNode>
| <siteMapNode title="report1" url="Pages/Report1.aspx"/>
| <siteMapNode title="report2" url="Pages/Report2.aspx"/>
| <siteMapNode title="report3" url="Pages/Report3.aspx"/>
| </siteMapNode>
| <siteMapNode title="books">
| <siteMapNode title="day">
| <siteMapNode title="book1" url="Pages/Book1.aspx"/>
| <siteMapNode title="book2" url="Pages/Book2.aspx"/>
| <siteMapNode title="book3" url="Pages/Book3.aspx"/>
| <siteMapNode title="book4" url="Pages/Book4.aspx"/>
| </siteMapNode>
| <siteMapNode title="month">
| <siteMapNode title="book11" url="Pages/Book11.aspx"/>
| <siteMapNode title="book12" url="Pages/Book12.aspx"/>
| <siteMapNode title="book13" url="Pages/Book13.aspx"/>
| <siteMapNode title="book14" url="Pages/Book14.aspx"/>
| </siteMapNode>
| <siteMapNode title="year">
| <siteMapNode title="book21" url="Pages/Book21.aspx"/>
| <siteMapNode title="book22" url="Pages/Book22.aspx"/>
| <siteMapNode title="book23" url="Pages/Book23.aspx"/>
| <siteMapNode title="book24" url="Pages/Book24.aspx"/>
| </siteMapNode>
| </siteMapNode>
| <siteMapNode title="change">
| <siteMapNode title="daily">
| <siteMapNode title="change1" url="Pages/Change1.aspx"/>
| <siteMapNode title="change2" url="Pages/Change2.aspx"/>
| <siteMapNode title="change3" url="Pages/Change3.aspx"/>
| <siteMapNode title="change4" url="Pages/Change4.aspx"/>
| </siteMapNode>
| <siteMapNode title="monthly">
| <siteMapNode title="change11" url="Pages/Change11.aspx"/>
| <siteMapNode title="change12" url="Pages/Change12.aspx"/>
| <siteMapNode title="change13" url="Pages/Change13.aspx"/>
| </siteMapNode>
| <siteMapNode title="record">
| <siteMapNode title="record1" url="Pages/Record1.aspx"/>
| <siteMapNode title="record2" url="Pages/Record2.aspx"/>
| <siteMapNode title="record3" url="Pages/Record3.aspx"/>
| <siteMapNode title="record4" url="Pages/Record4.aspx"/>
| </siteMapNode>
| </siteMapNode>
| <siteMapNode title="review">
| <siteMapNode title="pending">
| <siteMapNode title="review1" url="Pages/Review1.aspx"/>
| <siteMapNode title="review2" url="Pages/Review2.aspx"/>
| <siteMapNode title="review3" url="Pages/Review3.aspx"/>
| </siteMapNode>
| <siteMapNode title="completed" url="Pages/Review4.aspx"/>
| </siteMapNode>
| <siteMapNode title="audit">
| <siteMapNode title="pending" url="Pages/Audit1.aspx"/>
| <siteMapNode title="completed" url="Pages/Audit2.aspx"/>
| </siteMapNode>
| </siteMapNode>
|
| So I just created a new website and used the default page/sitemap, etc.,
| added links in the siteMap, and added some names to the GridView.
Obviously
| controls on the real page will be much more complex, but even on this
page
| you can see the delay by changing the number of records in the GridView
in
| the code-behind (changing i's capacity). Let me know if this works for
you.
|
| Thanks for the welcome, Steven, and thanks for your help!
| --
| Lucas
|
|
| "Steven Cheng[MSFT]" wrote:
|
| > Hi Lucas,
| >
| > Welcome to ASPNET newsgroup.
| > Regarding on the Menu control displaying slow problem, I'm think
whether
| > this is a clientside specific issue since the dynamic menu popup using
the
| > standard output client scripts. So would you also tried testing the
problem
| > page on from some other clients to see whether all of them suffer this
| > problem? If the problem occurs on all the client, I think you can try
| > create a reproduce page which contains only the necessary items so that
we
| > can perform some tests on local side...
| >
| > Thanks,
| >
| > Steven Cheng
| > Microsoft Online Support
| >
| > Get Secure! www.microsoft.com/security
| > (This posting is provided "AS IS", with no warranties, and confers no
| > rights.)
| >
| >
| >
| >
| > --------------------
| > | Thread-Topic: new menu control is very slow
| > | thread-index: AcYVQpqmZFO2hHaLRI6mAVvnqXJ3AQ==
| > | X-WBNR-Posting-Host: 192.209.53.250
| > | From: =?Utf-8?B?bHVrZXJr?= <[email protected]>
| > | Subject: new menu control is very slow
| > | Date: Mon, 9 Jan 2006 09:32:03 -0800
| > | Lines: 24
| > | Message-ID: <[email protected]>
| > | MIME-Version: 1.0
| > | Content-Type: text/plain;
| > | charset="Utf-8"
| > | Content-Transfer-Encoding: 7bit
| > | X-Newsreader: Microsoft CDO for Windows 2000
| > | Content-Class: urn:content-classes:message
| > | Importance: normal
| > | Priority: normal
| > | X-MimeOLE: Produced By Microsoft MimeOLE V6.00.3790.0
| > | Newsgroups: microsoft.public.dotnet.framework.aspnet.webcontrols
| > | NNTP-Posting-Host: TK2MSFTNGXA03.phx.gbl 10.40.2.250
| > | Path: TK2MSFTNGXA02.phx.gbl!TK2MSFTNGXA03.phx.gbl
| > | Xref: TK2MSFTNGXA02.phx.gbl
| > microsoft.public.dotnet.framework.aspnet.webcontrols:32343
| > | X-Tomcat-NG: microsoft.public.dotnet.framework.aspnet.webcontrols
| > |
| > | I was wondering if anyone else found that the new ASP.NET Menu
control
| > had
| > | very slow responsivenes on complex pages.
| > |
| > | So I inserted this control in a WebControl, bound it to a
| > siteMapDataSource,
| > | and applied a little logic (for roles...but of course we have
in-house
| > | security, so I can't use RoleProvider...but that's another question
for
| > | later!), and finally apply a few styles with css. Then, just plopped
the
| > | .ascx in the Master page.
| > |
| > | I don't notice any performance woes when the page is simple, such as
a
| > | couple controls and some content. However, some of the reports we
| > generate
| > | are fairly large and we use GridViews to display them. This is when
the
| > menu
| > | REALLY slows down. Hovering on a menu item for up to 10 seconds
before
| > the
| > | dynamic menus drop down is common.
| > |
| > | I've turned of ViewSate, aborted using logic in the code-behind for
| > 'roles',
| > | and even tried removing the styles. Even implementing paging for the
| > | GridViews so they aren't so large! Nothing seems to work.
| > |
| > | Can anyone help!?
| > |
| > | Thanks!
| > | --
| > | Lucas
| > |
| >
| >
|
 
S

Steven Cheng[MSFT]

Could it be the client box lack of some certain resources, is the client
machine powerful or are their many programs running on it? Also, you can
try saving the ASP.NET page's output as a static html file and then open it
in clientside's IE browser to see whether it still works slow...

Thanks,

Steven Cheng
Microsoft Online Support

Get Secure! www.microsoft.com/security
(This posting is provided "AS IS", with no warranties, and confers no
rights.)
--------------------
| Thread-Topic: new menu control is very slow
| thread-index: AcYW+8XrHuR1et0rSSub/FcNWCSqNA==
| X-WBNR-Posting-Host: 192.209.53.250
| From: =?Utf-8?B?bHVrZXJr?= <[email protected]>
| References: <[email protected]>
<[email protected]>
<[email protected]>
<[email protected]>
| Subject: RE: new menu control is very slow
| Date: Wed, 11 Jan 2006 14:10:03 -0800
| Lines: 311
| Message-ID: <[email protected]>
| MIME-Version: 1.0
| Content-Type: text/plain;
| charset="Utf-8"
| Content-Transfer-Encoding: 7bit
| X-Newsreader: Microsoft CDO for Windows 2000
| Content-Class: urn:content-classes:message
| Importance: normal
| Priority: normal
| X-MimeOLE: Produced By Microsoft MimeOLE V6.00.3790.0
| Newsgroups: microsoft.public.dotnet.framework.aspnet.webcontrols
| NNTP-Posting-Host: TK2MSFTNGXA03.phx.gbl 10.40.2.250
| Path: TK2MSFTNGXA02.phx.gbl!TK2MSFTNGXA03.phx.gbl
| Xref: TK2MSFTNGXA02.phx.gbl
microsoft.public.dotnet.framework.aspnet.webcontrols:32416
| X-Tomcat-NG: microsoft.public.dotnet.framework.aspnet.webcontrols
|
| Yes, I have noticed some other controls acting very slow, now that you
| mention it. So I added a bunch more, and expanded the menu to test. The
| outcome was horrendous!
|
| What are we doing wrong on the client side?! We aren't modifing/adding to
| the WebResource.axd file. I guess I always assumed it was the menu after
| looking at the source from the page and seeing the bloated table
renderings
| for the menu.
|
| Thanks again for your help, Steven!
|
| Lucas
|
| --
|
| "Steven Cheng[MSFT]" wrote:
|
| > Hi Lucas,
| >
| > Thanks for your response.
| > I've just have a test on the page you provided, seems the menu's
dynamic
| > sub items are poped out quickly, so I'm still thinking this could be a
| > clientside related issue. Can you find any other boxes that dosn't
suffer
| > the problem with the same page?
| >
| > Regards,
| >
| > Steven Cheng
| > Microsoft Online Support
| >
| > Get Secure! www.microsoft.com/security
| > (This posting is provided "AS IS", with no warranties, and confers no
| > rights.)
| >
| >
| >
| >
| > --------------------
| > | Thread-Topic: new menu control is very slow
| > | thread-index: AcYWIdg3FlORa1rrQ+qMXY81gaAPqw==
| > | X-WBNR-Posting-Host: 192.209.53.250
| > | From: =?Utf-8?B?bHVrZXJr?= <[email protected]>
| > | References: <[email protected]>
| > <[email protected]>
| > | Subject: RE: new menu control is very slow
| > | Date: Tue, 10 Jan 2006 12:10:04 -0800
| > | Lines: 228
| > | Message-ID: <[email protected]>
| > | MIME-Version: 1.0
| > | Content-Type: text/plain;
| > | charset="Utf-8"
| > | Content-Transfer-Encoding: 7bit
| > | X-Newsreader: Microsoft CDO for Windows 2000
| > | Content-Class: urn:content-classes:message
| > | Importance: normal
| > | Priority: normal
| > | X-MimeOLE: Produced By Microsoft MimeOLE V6.00.3790.0
| > | Newsgroups: microsoft.public.dotnet.framework.aspnet.webcontrols
| > | NNTP-Posting-Host: TK2MSFTNGXA03.phx.gbl 10.40.2.250
| > | Path: TK2MSFTNGXA02.phx.gbl!TK2MSFTNGXA03.phx.gbl
| > | Xref: TK2MSFTNGXA02.phx.gbl
| > microsoft.public.dotnet.framework.aspnet.webcontrols:32376
| > | X-Tomcat-NG: microsoft.public.dotnet.framework.aspnet.webcontrols
| > |
| > | I have deployed the project we are working on to a server for our
testers
| > and
| > | they have found the same problem. Other developers on the team are
not
| > | excempt from this, either.
| > |
| > | I can give you some coded stuff, if that's what you are looking for,
that
| > | closely emulates the troubles: (sorry if this gets too long!)
| > | --------------------
| > | Default.aspx:
| > |
| > | <form id="form1" runat="server">
| > | <div>
| > | <asp:Menu ID="siteMenu" runat="server" CssClass="MS"
| > | DataSourceID="SiteMapDataSource1"
| > | DisappearAfter="300" Orientation="Horizontal">
| > | <StaticHoverStyle BackColor="#66957A"/>
| > | <StaticMenuItemStyle BackColor="#4c83b2"/>
| > | <DynamicHoverStyle BackColor="#66957A"/>
| > | <DynamicMenuItemStyle BackColor="#4c83b2"/>
| > | <DynamicMenuStyle BackColor="#4c83b2"/>
| > | </asp:Menu>
| > | <asp:SiteMapDataSource ID="SiteMapDataSource1" runat="server"
| > | ShowStartingNode="false" />
| > | </div>
| > | <br />
| > | <div>
| > | <asp:GridView ID="GridView1" runat="server" EnableViewState="False">
| > | <HeaderStyle BackColor="Gray" ForeColor="White" />
| > | </asp:GridView>
| > | </div>
| > | </form>
| > |
| > | --------------------
| > | Default.aspx.cs:
| > |
| > | protected void Page_Load(object sender, EventArgs e)
| > | {
| > | //Some string of names.
| > | string[] Names = ("Bob the Builder,Suzy Snoozy,Frank the Tank,Wendy
just
| > | Wendy,Steve Stevenson").Split(',');
| > |
| > | //A new dataset with columns.
| > | DataSet newDataSet = new DataSet();
| > | newDataSet.Tables.Add();
| > | foreach (string name in Names)
| > | newDataSet.Tables[0].Columns.Add(name);
| > |
| > | //Build a DataSet for the GridView.
| > | //Add more rows by changing i's capacity (ie, 100, 1000, 10000) to
see
| > | incremental effects.
| > | for (int i = 0; i < 10; i++)
| > | {
| > | DataRow newRow = newDataSet.Tables[0].NewRow();
| > | foreach (string name in Names)
| > | newRow[name] = name;
| > | newDataSet.Tables[0].Rows.InsertAt(newRow, i);
| > | }
| > |
| > | //Bind it.
| > | GridView1.DataSource = newDataSet.Tables[0].DefaultView;
| > | GridView1.DataBind();
| > | }
| > |
| > | --------------------
| > | siteMap:
| > |
| > | <siteMapNode>
| > | <siteMapNode title="search">
| > | <siteMapNode title="search1" url="Pages/Search1.aspx"/>
| > | <siteMapNode title="search2" url="Pages/Search2.aspx"/>
| > | </siteMapNode>
| > | <siteMapNode title="reports">
| > | <siteMapNode title="downloads">
| > | <siteMapNode title="download1" url="Pages/Download1.aspx"/>
| > | <siteMapNode title="download2" url="Pages/Download2.aspx"/>
| > | <siteMapNode title="download3" url="Pages/Download3.aspx"/>
| > | <siteMapNode title="download4" url="Pages/Download4.aspx"/>
| > | </siteMapNode>
| > | <siteMapNode title="report1" url="Pages/Report1.aspx"/>
| > | <siteMapNode title="report2" url="Pages/Report2.aspx"/>
| > | <siteMapNode title="report3" url="Pages/Report3.aspx"/>
| > | </siteMapNode>
| > | <siteMapNode title="books">
| > | <siteMapNode title="day">
| > | <siteMapNode title="book1" url="Pages/Book1.aspx"/>
| > | <siteMapNode title="book2" url="Pages/Book2.aspx"/>
| > | <siteMapNode title="book3" url="Pages/Book3.aspx"/>
| > | <siteMapNode title="book4" url="Pages/Book4.aspx"/>
| > | </siteMapNode>
| > | <siteMapNode title="month">
| > | <siteMapNode title="book11" url="Pages/Book11.aspx"/>
| > | <siteMapNode title="book12" url="Pages/Book12.aspx"/>
| > | <siteMapNode title="book13" url="Pages/Book13.aspx"/>
| > | <siteMapNode title="book14" url="Pages/Book14.aspx"/>
| > | </siteMapNode>
| > | <siteMapNode title="year">
| > | <siteMapNode title="book21" url="Pages/Book21.aspx"/>
| > | <siteMapNode title="book22" url="Pages/Book22.aspx"/>
| > | <siteMapNode title="book23" url="Pages/Book23.aspx"/>
| > | <siteMapNode title="book24" url="Pages/Book24.aspx"/>
| > | </siteMapNode>
| > | </siteMapNode>
| > | <siteMapNode title="change">
| > | <siteMapNode title="daily">
| > | <siteMapNode title="change1" url="Pages/Change1.aspx"/>
| > | <siteMapNode title="change2" url="Pages/Change2.aspx"/>
| > | <siteMapNode title="change3" url="Pages/Change3.aspx"/>
| > | <siteMapNode title="change4" url="Pages/Change4.aspx"/>
| > | </siteMapNode>
| > | <siteMapNode title="monthly">
| > | <siteMapNode title="change11" url="Pages/Change11.aspx"/>
| > | <siteMapNode title="change12" url="Pages/Change12.aspx"/>
| > | <siteMapNode title="change13" url="Pages/Change13.aspx"/>
| > | </siteMapNode>
| > | <siteMapNode title="record">
| > | <siteMapNode title="record1" url="Pages/Record1.aspx"/>
| > | <siteMapNode title="record2" url="Pages/Record2.aspx"/>
| > | <siteMapNode title="record3" url="Pages/Record3.aspx"/>
| > | <siteMapNode title="record4" url="Pages/Record4.aspx"/>
| > | </siteMapNode>
| > | </siteMapNode>
| > | <siteMapNode title="review">
| > | <siteMapNode title="pending">
| > | <siteMapNode title="review1" url="Pages/Review1.aspx"/>
| > | <siteMapNode title="review2" url="Pages/Review2.aspx"/>
| > | <siteMapNode title="review3" url="Pages/Review3.aspx"/>
| > | </siteMapNode>
| > | <siteMapNode title="completed" url="Pages/Review4.aspx"/>
| > | </siteMapNode>
| > | <siteMapNode title="audit">
| > | <siteMapNode title="pending" url="Pages/Audit1.aspx"/>
| > | <siteMapNode title="completed" url="Pages/Audit2.aspx"/>
| > | </siteMapNode>
| > | </siteMapNode>
| > |
| > | So I just created a new website and used the default page/sitemap,
etc.,
| > | added links in the siteMap, and added some names to the GridView.
| > Obviously
| > | controls on the real page will be much more complex, but even on this
| > page
| > | you can see the delay by changing the number of records in the
GridView
| > in
| > | the code-behind (changing i's capacity). Let me know if this works
for
| > you.
| > |
| > | Thanks for the welcome, Steven, and thanks for your help!
| > | --
| > | Lucas
| > |
| > |
| > | "Steven Cheng[MSFT]" wrote:
| > |
| > | > Hi Lucas,
| > | >
| > | > Welcome to ASPNET newsgroup.
| > | > Regarding on the Menu control displaying slow problem, I'm think
| > whether
| > | > this is a clientside specific issue since the dynamic menu popup
using
| > the
| > | > standard output client scripts. So would you also tried testing the
| > problem
| > | > page on from some other clients to see whether all of them suffer
this
| > | > problem? If the problem occurs on all the client, I think you can
try
| > | > create a reproduce page which contains only the necessary items so
that
| > we
| > | > can perform some tests on local side...
| > | >
| > | > Thanks,
| > | >
| > | > Steven Cheng
| > | > Microsoft Online Support
| > | >
| > | > Get Secure! www.microsoft.com/security
| > | > (This posting is provided "AS IS", with no warranties, and confers
no
| > | > rights.)
| > | >
| > | >
| > | >
| > | >
| > | > --------------------
| > | > | Thread-Topic: new menu control is very slow
| > | > | thread-index: AcYVQpqmZFO2hHaLRI6mAVvnqXJ3AQ==
| > | > | X-WBNR-Posting-Host: 192.209.53.250
| > | > | From: =?Utf-8?B?bHVrZXJr?= <[email protected]>
| > | > | Subject: new menu control is very slow
| > | > | Date: Mon, 9 Jan 2006 09:32:03 -0800
| > | > | Lines: 24
| > | > | Message-ID: <[email protected]>
| > | > | MIME-Version: 1.0
| > | > | Content-Type: text/plain;
| > | > | charset="Utf-8"
| > | > | Content-Transfer-Encoding: 7bit
| > | > | X-Newsreader: Microsoft CDO for Windows 2000
| > | > | Content-Class: urn:content-classes:message
| > | > | Importance: normal
| > | > | Priority: normal
| > | > | X-MimeOLE: Produced By Microsoft MimeOLE V6.00.3790.0
| > | > | Newsgroups: microsoft.public.dotnet.framework.aspnet.webcontrols
| > | > | NNTP-Posting-Host: TK2MSFTNGXA03.phx.gbl 10.40.2.250
| > | > | Path: TK2MSFTNGXA02.phx.gbl!TK2MSFTNGXA03.phx.gbl
| > | > | Xref: TK2MSFTNGXA02.phx.gbl
| > | > microsoft.public.dotnet.framework.aspnet.webcontrols:32343
| > | > | X-Tomcat-NG: microsoft.public.dotnet.framework.aspnet.webcontrols
| > | > |
| > | > | I was wondering if anyone else found that the new ASP.NET Menu
| > control
| > | > had
| > | > | very slow responsivenes on complex pages.
| > | > |
| > | > | So I inserted this control in a WebControl, bound it to a
| > | > siteMapDataSource,
| > | > | and applied a little logic (for roles...but of course we have
| > in-house
| > | > | security, so I can't use RoleProvider...but that's another
question
| > for
| > | > | later!), and finally apply a few styles with css. Then, just
plopped
| > the
| > | > | .ascx in the Master page.
| > | > |
| > | > | I don't notice any performance woes when the page is simple, such
as
| > a
| > | > | couple controls and some content. However, some of the reports we
| > | > generate
| > | > | are fairly large and we use GridViews to display them. This is
when
| > the
| > | > menu
| > | > | REALLY slows down. Hovering on a menu item for up to 10 seconds
| > before
| > | > the
| > | > | dynamic menus drop down is common.
| > | > |
| > | > | I've turned of ViewSate, aborted using logic in the code-behind
for
| > | > 'roles',
| > | > | and even tried removing the styles. Even implementing paging for
the
| > | > | GridViews so they aren't so large! Nothing seems to work.
| > | > |
| > | > | Can anyone help!?
| > | > |
| > | > | Thanks!
| > | > | --
| > | > | Lucas
| > | > |
| > | >
| > | >
| > |
| >
| >
|
 
A

Alessandro Riolo

Steven said:
I've just have a test on the page you provided, seems the menu's dynamic
sub items are poped out quickly, so I'm still thinking this could be a
clientside related issue. Can you find any other boxes that dosn't suffer
the problem with the same page?

Hi Steven and Lucas,
I've got same problem of Lucas, and the code he posted here looks very
similar to the one we are using. The asp:menu (.Net 2.0) control worked
fine on IE as long as the items were far less than 100, then its
performances became increasingly bad, while in Firefox everything looks
fine. Now we have something less than 1000 items on the menu (which is
not quite complicated, we use 2 menu controls in each page, first has 4
main items, second 5, then most of the items are in the first two main
items of the first menu, but things are not too deep, just two levels),
and on IE it is completely unusable, while on Firefox works quite good.
The only think I could think about is that our pages are labelled as
XHTML but it is not yet validating (just a few errors, anyway), and
maybe Firefox is managing that better than IE.
Any idea or suggestion?
 
A

Alessandro Riolo

Alessandro said:
Any idea or suggestion?


To elaborate a bit, here is how a single menu item look like in the HTML
source code:

***** start *****
<tr>
<td><img src="Images/SeperatorVertical.jpg" alt="" /></td>
</tr><tr onmouseover="Menu_HoverDynamic(this)"
onmouseout="Menu_Unhover(this)" onkeyup="Menu_Key(this)"
id="ctl00_Header1_Menu1n364">
<td><table class="MenuFontLevel2 ctl00_Header1_Menu1_4"
cellpadding="0" cellspacing="0" border="0" width="100%">
<tr>
<td style="white-space:nowrap;width:100%;"><a
class="ctl00_Header1_Menu1_1 MenuFontLevel2 ctl00_Header1_Menu1_3"
href="http://localhost/Development/Applic...plication.Website/Common/Page.aspx?PageID=446"
style="border-style:none;font-size:1em;">PAGE</a></td>
</tr>
</table></td>
</tr>
***** end *****

Cleaning it a bit, here is what we have at element level:
<tr><td><img/></td></tr>
<tr><td><table><tr><td><a>PAGE</a></td></tr></table></td></tr>

So for each menu item, we get 2 tr, the first one with just a td with an
img inside, the second with a table, but again made up from only one td
and tr, which are there to support one link.

We will rename things to make the code less heavy to download, and I
guess we will head in that direction (i.e. turning Header 1 to Hd, or
Menu1 to Mn, and so on), but I don't believe that will help too much on
the slowness of the menu control side.
 
N

nilzor

Hi everyone.

I can report the same issues here. It is definitely a "client side
problem". That is - it's a product of the size of the menu, the power
of your computer and the quality of the implementation of the
Javascript parser on the browser you use.

Like Alessandro Riolo, I can report that the Menu performance is far
superior in Firefox. The project I'm working on now contains about 400
menu elements, and this renders smoothly on Firefox (<200 ms response),
but uses 3-5 seconds for each expanding/collapsing in IE.

Since both the Menu class and IE is a product from Microsoft, I'd
suggest they look into improving the implementation in either of these.
Until then, I'll see if I can find a third-party implementation of a
similar Menu control that works better.
 
L

lukerk

Glad to see I'm not going bonkers!

In previous projects, I've used the skmMenu, but noticed that they haven't
implemented anything new lately. Maybe I'll toy with that a little... If you
find a suitable replacement to this menu, I would be interested in checking
it out.

Thanks everyone.
 
A

Alessandro Riolo

Alessandro said:
The only think I could think about is that our pages are labelled as
XHTML but it is not yet validating (just a few errors, anyway)

Now I sorted that out, I got a "This Page Is Valid XHTML 1.0
Transitional!" from the w3c validator, but the menu control is still not
usable (5 sec is an optimistic guess of the latency).
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,755
Messages
2,569,536
Members
45,011
Latest member
AjaUqq1950

Latest Threads

Top