Thursday, April 26, 2007

Controls that Are Not Compatible with UpdatePanel Controls

Hi All,

The following ASP.NET controls are not compatible with partial-page updates, and are therefore not supported inside an UpdatePanel control:



Controls that are incompatible with partial-page rendering can still be used on a page outside UpdatePanel
controls. Additionally, in some cases you can use the controls in a
specific way to make them compatible with partial-page updates. For
example, you can use the Login, ChangePassword, or PasswordRecovery controls inside an UpdatePanel
control if you can convert their contents to templates. (If you are
using Visual Studio, in Design view you can convert the controls by
using smart-tag menu commands such as Convert to Template or Customize Create User Step.)
When you convert these controls into editable templates, the validation
controls that are used in the control are defined declaratively by
using markup in the page. To make the validators compatible with an UpdatePanel control, set the EnableClientScript property of the validators to false.
This disables the client script that would ordinarily be used to
perform validation in the browser. As a result, during an asynchronous
postback, the validators perform validation on the server. However,
because only the content of the UpdatePanel is refreshed, the validators can provide the kind of immediate feedback that is ordinarily provided by client script.


To use a FileUpload control inside an UpdatePanel control, set the postback control that submits the file to be a PostBackTrigger control for the panel.


All other controls work inside UpdatePanel controls. However, in some circumstances, a control might not work as expected inside an UpdatePanel control. These circumstances include the following:




  • Registering script by calling registration methods of the ClientScriptManager control.




  • Rendering script or markup directly during control rendering, such as by calling the Write(String) method.




If the control calls script registration methods of the ClientScriptManager control, you could use corresponding script registration methods of the ScriptManager control instead. In that case, the control can work inside an UpdatePanel control.

 

No comments: