Search Wiki:
Project Description
The ASP.NET AJAX UpdatePanel requires the whole page to render, but sends only the contents of the UpdatePanel to the client.
The goal of this project is the development of a component that really renders only the partial contents. This will increase the rendering speed and unload server resources.

Image1.png

Usage scenarious
Example scenarious where you better use the PartialUpdatePanel might be
  • Autonomous sections of your page that require PostBack-support but not the environment information of the whole page (e.g. data lists with paging support where the user can browse through news, feeds, mails, etc.)
  • User feedback when your control have to complete long operations. In this case use a PartialUpdatePanel with render method "Clientside". The surrounding page will be displayed with a waiting message. The user get's feedback that something is going on he has to wait for.

Technologies used
  • C#
  • ASP.NET
  • ASP.NET AJAX
  • .NET Framework 3.5

Things supported so far
The PartialUpdatePanel supports
  • Maintaining the viewstate. The viewstate of the partial content will be maintained during postbacks. Because evey PatialUpdatePanel manages it's own viewstate, less data is transfered between client and server than the AJAX UpdatePanel does.
  • PostBacks from childcontrols. Full postback support with event handling.
  • Parameters can be declared which will be transfered as GET-Parameters to the control. These parameters can be modified during runtime via JScript.
  • Autorefreshing the content every n milliseconds
  • Render the control initially synchronous (with all other controls on the page) or asynchronous (the page is sent to the client which requests the control to load)
  • Automatically execute JavaScript snippets from your Control via ScriptManager.RegisterStartupScript or ScriptManager.RegisterClientScriptBlock
  • Set a timeout after the LoadingTemplate should be shown
  • You can use controls from the AJAX Control Toolkit inside the PartialUpdatePanel
  • Globalization

Find a detailed description of the source code here: http://www.codeproject.com/KB/ajax/PartialUpdatePanel.aspx

Contact me at my blog http://www.iucon.biz/blog
Last edited Fri at 9:55 AM  by iucon, version 14
Comments
ybai wrote  Mar 17 at 3:51 PM  
Hi, just played around with the latest release. Basically it's good stuff, I found a small bug tho. When a partialupdatepanel contains a textbox which has same id with another in the page else where rather then staying in any other partialupdatepanels, when a full postback happens, an invalid ViewState error occurs. If two patialupdatepanels contain two textboxes with same id, when a full postback happens, both of the textboxes will be filled in comma. when keep clicking the postback button, the amount of comma is increased incrementally. Not sure if this is a real bug or not, cause I tested it in VMware. It sometimes is annoying too. : )

mthakershi wrote  Mar 26 at 7:35 PM  
Apart from rendering speed and optimization, is it any different from ATLAS updatepanel? Can it render <OBJECT> tags?

iucon wrote  Jun 7 at 1:16 PM  
Hi mthakershi. The PartialUpdatePanel can render every HTML-tag so it can render OBJECT-tags too.

iucon wrote  Jun 7 at 1:17 PM  
Hi ybai. The issue with same ids when using more than one PartialUpdatePanel on the same page was fixed in the last release.

dsridhar10 wrote  Jul 9 at 2:27 PM  
Hi, does this control work on asp.net 2.0 framework? you have mentioned that it is written using .NET 3.5. so I am not sure if it works on .net 2.0 framework.

grown wrote  Sep 22 at 8:25 AM  
Hi,

Thanks for a excelent work! I've played a bit with your product, it seems to load content much more faster than Microsoft UpdatePanel, but I've also found one interesting thing:
Please monitor the ViewState which is sending when you click on page number at DataBinding section of your sample (a grid with paging enabled). The size of the ViewState is larger than the VievState of the whole sample page. If you put asp:UpdatePanel on the same page and place the same DataBindingsSample inside - you'll see that the ViewState which is sent by asp:UpdatePanel is less than ViewState, sent by your panel. Thus, we don't get any advatnage in terms of reducing the traffic, but still loading itself remains faster (page doesn't goes through the whole cycle).

Do you know what can generate extra data for ViewState (or ViewState generating approach is not optimal)?

Updating...