locked
Asp.net dynamic data and performance RRS feed

  • Question

  • User-38309549 posted

    I have created a website by using asp.net dynamic data. But my table have approximate 35000 rows with 100 columns. The website responsed very slow.

    Did anyone had solve this problem? Plz. help me.

    Monday, November 17, 2008 4:07 AM

All replies

  • User-330204900 posted

    Some have reported this issue in the past try commenting out the FilterRepeater

    <%--
    <?xml:namespace prefix = asp /><asp:FilterRepeater id="<asp:FilterRepeater ID="FilterRepeater" runat="server">
        <ItemTemplate>
            <asp:Label runat="server" Text='<%# Eval("DisplayName") %>' AssociatedControlID="DynamicFilter$DropDownList1" />
            <asp:DynamicFilter runat="server" ID="DynamicFilter" OnSelectedIndexChanged="OnFilterSelectedIndexChanged" />
        </ItemTemplate>
        <FooterTemplate><br /><br /></FooterTemplate>
    </asp:FilterRepeater>
    --%>

    </asp:FilterRepeater>In the List page.

    If this helps then you may wish to use the AutoCompleteFilter from Dynamic Data Futures have a look at my blog post here

    1. Part 1 - Getting Dynamic Data Futures filters working in a File Based Website.
    2. Part 2 - Create the AnyColumn filter from the Dynamic Data Futures Integer filter.
    3. Part 3 – Creating the AnyColumnAutocomplete filter.

    Part 1 and 3 are what you want.

    Hope this helps [:D]

    Monday, November 17, 2008 6:45 AM
  • User-1005219520 posted

    What was slow - bringing up a specific table? The FilterRepeater  slow down should only occur when you try to use the filter. Can you create a non Dynamic Data web site, add a  paging gridview with your data and compare?

    Monday, November 17, 2008 3:31 PM
  • User-38309549 posted

    Hi sjnaughton 

    Thanks for your reply, the articles are very helpfull, but that's not exactly my problem.

    My problem is the late responding (for example when i select to navigate to next page, or change a filter's value). It seems to reload all 35000 record instead of 20 record of the corresponding page.

    Some have reported this issue in the past try commenting out the FilterRepeater

    <%--
    <asp:FilterRepeater ID="FilterRepeater" runat="server">
        <ItemTemplate>
            <asp:Label runat="server" Text='<%# Eval("DisplayName") %>' AssociatedControlID="DynamicFilter$DropDownList1" />
            <asp:DynamicFilter runat="server" ID="DynamicFilter" OnSelectedIndexChanged="OnFilterSelectedIndexChanged" />
        </ItemTemplate>
        <FooterTemplate><br /><br /></FooterTemplate>
    </asp:FilterRepeater>
    --%>

    In the List page.

    If this helps then you may wish to use the AutoCompleteFilter from Dynamic Data Futures have a look at my blog post here

    1. Part 1 - Getting Dynamic Data Futures filters working in a File Based Website.
    2. Part 2 - Create the AnyColumn filter from the Dynamic Data Futures Integer filter.
    3. Part 3 – Creating the AnyColumnAutocomplete filter.

    Part 1 and 3 are what you want.

    Hope this helps Big Smile

     
    Tuesday, November 18, 2008 1:35 AM
  • User-330204900 posted

    Hi Tqv9680, Have you tried commenting out the Filters as I described, what others found was that it was a Filter that was loading all the records so if you comment out the filter this should show you if it's that issue. And if it is the Filters issue then my article will help as the the Autocomplete filter works by filtering the dropdown list by the text typed in therefore reducing the number of records returned.

    Tuesday, November 18, 2008 3:33 AM
  • User-38309549 posted

    Hi sjnaughton 

    if i commentet out the Filters, then it seem works faster but without any filter control so i could not filter the table

    if i use

    <asp:AdvancedFilterRepeater ID="FilterRepeater" runat="server">
                    <ItemTemplate>
                        <asp:Label ID="Label1" runat="server" Text='<%# Eval("DisplayName") %>' />
                        <asp:DelegatingFilter 
                            runat="server" 
                            ID="DynamicFilter" 
                            OnSelectionChanged="OnFilterSelectedIndexChanged" />
                    </ItemTemplate>
                    <FooterTemplate>
                        <br />
                        <br />
                    </FooterTemplate>
                </asp:AdvancedFilterRepeater>

     then i got the error compilation as following:

    Compilation Error

    Description: An error occurred during the compilation of a resource required to service this request. Please review the following specific error details and modify your source code appropriately. 

    Compiler Error Message: ASPNET: Make sure that the class defined in this code file matches the 'inherits' attribute, and that it extends the correct base class (e.g. Page or UserControl).

    Source Error:

    Line 6:  namespace Shm
    Line 7:  {
    Line 8:      public partial class BooleanRadio_Filter : FilterUserControlBase, ISelectionChangedAware
    Line 9:      {
    Line 10: 

    This only appear when i browse the default page while the visual studio report Build Succeed when i build the website.  

    Tuesday, November 18, 2008 11:06 PM
  • User-330204900 posted

    OK now we know that the one of the filter drop down lists is bringing back a lot of records. what I recommend is to use the AutoComplete Filter from DD Futures as I said in my earlier post this will sort the issue as it will only bring back records that match what you have typed in, also you can set the number of characters the the user has to type in before the AutoComplete goes off and pull back any records.

    1. Part 1 - Getting Dynamic Data Futures filters working in a File Based Website.
    2. Part 2 - Create the AnyColumn filter from the Dynamic Data Futures Integer filter.
    3. Part 3 – Creating the AnyColumnAutocomplete filter.

    Part 1 and 3 are what you want.

    Hope this helps [:D]

    Wednesday, November 19, 2008 4:33 AM