Geeks With Blogs

News

Microsoft MVP


DZone MVB


Moderator at CodeASP.NET


Quiz Master







free counters
Free counters
Added on January 19,2012


Follow Me @vmsdurano

A bit About Me



Disclaimer
The opinions expressed herein are my own personal opinions and does not represent the opinions of my employers. Nor does it represent the opinion of my dog, because I don’t have one.


Vinz' Blog (ProudMonkey) "Code, Beer and Music ~ my way of being a programmer"

Introduction:

Most of the web applications nowadays prefer to be an AJAX enabled application. Ajax enabled applications is basically eliminates those annoying flickers occurred when a page is refreshed.

This articles shows on how we are going make our webparts to be an ajax enabled one.

 

Below are the steps in creating an Ajax enabled application.

 

  1. Open Visual Studio 2005 and Create new Website
  2. Select ASP.NET AJAX-Enabled Web Site then press OK (See Figure A)

 

Figure A

 

  1. As what you have notice, the ScriptManager Control is automatically added to your page. ScriptManager handles the Ajax functionality like the WebPartManager.
  2. Drag Updatepanel control below the ScriptManager (See Figure B)

      

       Figure B

 

  1. Drag a WebPartManger inside the Updatepanel control
  2. Drag two WebPartZone below the WebPartManager (See Figure C)

       

        Figure C

 

  1. Drag a TextBox control in the WebpartZone
  2. Compile the Appication and Run the Website
  3. Drag a webpart in different zones and observe what happens

 

As what you have noticed, you can drag and drop a webpart only once and if you would try to drag it again it will just highlight the header of the webpart that you are trying to drag. Basically by default, webparts do not support updatepanel control but they provide a workaround on how to move webparts and supported in updatepanel control.

 

The Problem

ASP.NET Web Parts Drag and Drop feature and Drop down verbs menu does not operate correctly inside of a Microsoft AJAX 1.0 UpdatePanel.

           

Why it doesn't work?

The WebPartManager is responsible for registering an include and start up script. This script provides Web Parts and zones with various client side functionality including drag and drop and

drop down verb menus.

 

When a control is placed inside of an Update Panel, the script is rendered and ran on the first render, but not on subsequent renders. Due to this, the client side functionality fails.

 

The Workaround

The solution is simple. Inherit the WebPartManager, override the RenderClientScript Method and render the client scripts using the System.Web.UI.ScriptManager instead of the System.Web.UI.ClientScriptManager.

 

The System.Web.UI.ScriptManager informs Ajax of the registered client scripts and ensures that they are rendered out and executed whenever an UpdatePanel is refreshed. To achieve this, follow the steps below:

 

  1. Right click on the Project and Add a Reference (See Figure D)

Figure D

 

  1. Click the Add Reference. You should be able to see the add reference window.
  2. Click on the Browse Tab (See Figure E)

Figure E

 

  1. Browse the Sample.Web.UI.WebParts.dll file. You can download it at said Url below:

\\ Release – I attached the dll together with this file

  1. Add the following Tag Mapping to the specified section of your web.config:

<configuration>

           <system.web>

                        <pages>

                                    <tagMapping>

                                    <add tagType="System.Web.UI.WebControls.WebParts.WebPartManager"

                                    mappedTagType="Sample.Web.UI.WebParts.WebPartManager, Sample.Web.UI.WebParts"/>

                                    </tagMapping>

                        </pages>

            </system.web>

</configuration>

 

  1. Compile the Application and Run again.
  2. The result can be seen in the screen shot below:

 

Figure F

As what you have notice now, you can drag and drop webparts in different zones without flicker or without refreshes the entire page.

 

By: Vincent Maverick Durano

 

Technorati Tags: ,
Posted on Monday, February 4, 2008 1:44 AM ASP.NET , WebParts | Back to top


Comments on this post: Creating an AJAX Enabled Webparts in Aspnet 2.0

# re: Creating an AJAX Enabled Webparts in Aspnet 2.0
Requesting Gravatar...
This is very informative. We are currently running into this problem. I wated to try your solution but the dll seems to be missing. Any chance you could put it back up? :)
Left by Chantelle on May 09, 2008 7:58 AM

# re: Creating an AJAX Enabled Webparts in Aspnet 2.0
Requesting Gravatar...
Hi,

I couldnt find the dll in the updated location too. It is showing a HTTP 404 error. Can you please make it available ?
We are currently running in to this problem.
Left by VP Menon on Jun 03, 2008 8:49 PM

# re: Creating an AJAX Enabled Webparts in Aspnet 2.0
Requesting Gravatar...
Hi,

This is really nice article,

Thanks
Left by Thanigainathan.S on Nov 13, 2008 4:36 AM

# re: Creating an AJAX Enabled Webparts in Aspnet 2.0
Requesting Gravatar...
its working fine from second time onwards but not first time.
Left by swapna on Mar 02, 2009 10:58 PM

# re: Creating an AJAX Enabled Webparts in Aspnet 2.0
Requesting Gravatar...
Man, I saved tons of time with this article..Good Job.Keep it Up.
Thanks.
Left by Jaschar on May 06, 2009 8:06 PM

# re: Creating an AJAX Enabled Webparts in Aspnet 2.0
Requesting Gravatar...
How to create the Ajax included webpage in .net2008 . am trying to open but only default web site are available there no other option for Ajax included webpage
Left by Tamil on May 27, 2009 11:44 PM

# re: Creating an AJAX Enabled Webparts in Aspnet 2.0
Requesting Gravatar...
I already create asp.net web site. can i use ajax tools in my project or do i need to recreate my project in ajax enabled web site. i am using visual studio 2005. need help immediately. its better if you can send a answer to my email.

thanx
Left by uditha on Jul 06, 2009 5:08 AM

# re: Creating an AJAX Enabled Webparts in Aspnet 2.0
Requesting Gravatar...
@ uditha, can u please give ur email address
Left by Muhammad Liaquat on Sep 07, 2009 7:07 PM

# re: Creating an AJAX Enabled Webparts in Aspnet 2.0
Requesting Gravatar...
@ uditha, can u please give ur email address

email me at muhammad.liaquat @ gmail . com
Left by Muhammad Liaquat on Sep 07, 2009 7:10 PM

# re: Creating an AJAX Enabled Webparts in Aspnet 2.0
Requesting Gravatar...
Im unable to download Sample.Web.UI.WebParts.dll from ur mentioned link. Please let me kno how can I.
Left by sorted on May 21, 2010 6:15 PM

comments powered by Disqus

Copyright © Vincent Maverick Durano | Powered by: GeeksWithBlogs.net