Thursday, May 31, 2007

How to enable ASP applications and ASP.Net applications on WSS

On a server running Windows Sharepoint Services (WSS) where WSS has taken over the default web site, ASP applications are disabled by default. Also, ASP.Net applications will not run by default since WSS imposes some serious security restrictions on the web site. See this MS KB article (828810) for details and resolution. Basically you need to set up an excluded path in the Sharepoint Services Administration page.

Friday, May 18, 2007

Object-Oriented Techniques in Javascript

Here is a good MSDN article about some of the more object-oriented principles in JavaScript:
Create Advanced Web Applications With Object-Oriented Techniques.

Wednesday, May 16, 2007

AJAX Tips and Tricks

Here is an interesting article about some AJAX internals, put together by one of the co-founders of PageFlakes. Interesting is especially the part on caching web service responses (if appropriate in your case).

Monday, May 14, 2007

Microsoft JScript runtime error: 'AjaxControlToolkit' is undefined

Just ran into this weird error when trying to add an AJAX control to a web page and we spent a lot of time trying to resolve this.
Basically the web page worked fine but when moving it to the server it generated a client-side JS error: "Microsoft JScript runtime error: 'AjaxControlToolkit' is undefined".

this is the corresponding code:

Sys.Application.add_init(function() {
$create(AjaxControlToolkit.ModalPopupBehavior, {"BackgroundCssClass":"modalBackground", ...}, null, null, $get("btnNew"));
});



Google search did reveal people having similar problems but no good solution.
Then there was some good information in this thread.
Basically it turns out that the the script is being compressed under certain circumstances (like debug mode vs. non-debug) and whether the compression settings are defined in the web.config file.

Here is what fixed it for us. The important setting is the one "enableCompression='false'":

<system.web.extensions>
<scripting>
<scriptResourceHandler enableCompression="false" enableCaching="true">
</scriptResourceHandler >
</scripting>
</system.web.extensions>


Make sure you switch the compression off, since it seems it does not work, even when using IE7 like I do.