RE: new menu control is very slow



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?= <lukerk@xxxxxxxxxxxxxxxx>
| References: <710278C6-84AD-4ABD-A180-70054E77104E@xxxxxxxxxxxxx>
<ztq1xscFGHA.224@xxxxxxxxxxxxxxxxxxxxx>
| Subject: RE: new menu control is very slow
| Date: Tue, 10 Jan 2006 12:10:04 -0800
| Lines: 228
| Message-ID: <884C8F6A-070E-4E92-8409-D4D24E221955@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: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?= <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
| > |
| >
| >
|

.



Relevant Pages

  • Re: ObjectDataSource in ASP.NET 2.0
    ... > property so as to make the primary key field readonly or invisible. ... > event we define the following gridView template schema: ... > update event of the GridView or DataSource control. ... > |> Microsoft Online Support ...
    (microsoft.public.dotnet.framework.aspnet)
  • RE: Bees knees of grid controls for ASP.NET
    ... The too post-back intensive of the asp.net grid control is due to the ... page since the clientside use webbrowser to retrieve page from remote site ... we'll see that most of the asp.net powerful controls such as datagrid, ... more clientside scripts or browser supported behaviors to make the ...
    (microsoft.public.dotnet.framework.aspnet.datagridcontrol)
  • RE: Page has Expired - using html input control (type=file)
    ... through the webpage http header) which can control the IE's clientside ... Microsoft Online Support ...
    (microsoft.public.dotnet.framework.aspnet)
  • RE: ASP web form guidance.
    ... You can try use the IIS ServerVariables, it contains many clientside ... which routered from IIS Server to ASP.NET worker process. ... We can still use such code block in ASP.NET. ... Label Control) and set these control's "Text" property to the certain Html ...
    (microsoft.public.dotnet.framework.aspnet)
  • RE: Page has Expired - using html input control (type=file)
    ... control we start getting the Page Expired error. ... > |> Steven Cheng ... > |> Microsoft Online Support ...
    (microsoft.public.dotnet.framework.aspnet)