Large dropDownList slow in UpdatePanel
am 01.02.2008 17:09:06 von chambersdon
I have a large DropDownList that is very slow when it's in an
UpdatePanel. The initial loading of the page is not slow, only the
PostBack is slow. When I do not use the UpdatePanel PostBacks are
very fast. I have EnableViewState set to false for this DropDownBox.
Using the debugger I see that the Code Behind is entered quickly. The
slowdown happens sometime after OnUnload occurs. I think it happens
when refreshing the page.
To duplicate the problem create a page with a ScriptManager and
UpdatePanel. Add a DropDownList and Button to the UpdatePanel. Here
is the code:
Untitled Page
In Page_load add the code below to add 6,000 rows to the DropDownList:
protected void Page_Load(object sender, EventArgs e)
{
DropDownList1.Items.Clear();
for (int i = 0; i < 6000; i++)
{
DropDownList1.Items.Add("A" + i);
}
}
Run the page and click the button. The PostBack is very slow - about
35 seconds.
Now move the Button outside of the UpdatePanel. This causes the
entire page to refresh when a PostBack is performed. This takes about
2 seconds.
RE: Large dropDownList slow in UpdatePanel
am 01.02.2008 17:20:02 von pbromberg
The only response I can give is that the UpdatePanel is having to use XmlHttp
to marshal a large amount of "string-ified" data over the wire and reassemble
it in the callback to fit your control's needs. There are some situations
where AJAX just doesn't "fit" and this is probably one of them. Either that,
or don't bring back so much data at one time.
-- Peter
Site: http://www.eggheadcafe.com
UnBlog: http://petesbloggerama.blogspot.com
MetaFinder: http://www.blogmetafinder.com
"Don" wrote:
> I have a large DropDownList that is very slow when it's in an
> UpdatePanel. The initial loading of the page is not slow, only the
> PostBack is slow. When I do not use the UpdatePanel PostBacks are
> very fast. I have EnableViewState set to false for this DropDownBox.
>
> Using the debugger I see that the Code Behind is entered quickly. The
> slowdown happens sometime after OnUnload occurs. I think it happens
> when refreshing the page.
>
> To duplicate the problem create a page with a ScriptManager and
> UpdatePanel. Add a DropDownList and Button to the UpdatePanel. Here
> is the code:
>
>
> Untitled Page
>
>
>
>
>
>
> In Page_load add the code below to add 6,000 rows to the DropDownList:
> protected void Page_Load(object sender, EventArgs e)
> {
> DropDownList1.Items.Clear();
> for (int i = 0; i < 6000; i++)
> {
> DropDownList1.Items.Add("A" + i);
> }
> }
>
> Run the page and click the button. The PostBack is very slow - about
> 35 seconds.
> Now move the Button outside of the UpdatePanel. This causes the
> entire page to refresh when a PostBack is performed. This takes about
> 2 seconds.
>
>