RE: new menu control is very slow
- From: lukerk <lukerk@xxxxxxxxxxxxxxxx>
- Date: Tue, 10 Jan 2006 12:10:04 -0800
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?= <lukerk@xxxxxxxxxxxxxxxx>
> | Subject: new menu control is very slow
> | Date: Mon, 9 Jan 2006 09:32:03 -0800
> | Lines: 24
> | Message-ID: <710278C6-84AD-4ABD-A180-70054E77104E@xxxxxxxxxxxxx>
> | 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
> |
>
>
.
- Follow-Ups:
- RE: new menu control is very slow
- From: Steven Cheng[MSFT]
- RE: new menu control is very slow
- References:
- RE: new menu control is very slow
- From: Steven Cheng[MSFT]
- RE: new menu control is very slow
- Prev by Date: Databound control with both RepeatColumns and also Paging enabled?
- Next by Date: Re: Treeview
- Previous by thread: RE: new menu control is very slow
- Next by thread: RE: new menu control is very slow
- Index(es):
Relevant Pages
|