From http://compositec1.codeplex.com/discussions/279386
For page to be loaded correctly, you have to add some C1 specific markup. This also gives the benefit of full access to the Javascript environment where you can manipulate the trees, open dialogs, update the message queue etc.
The following thing has to be added as a minimum
To the beginning:
<?xml version="1.0" encoding="UTF-8"?>
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:ui="http://www.w3.org/1999/xhtml" xmlns:control="http://www.composite.net/ns/uicontrol">
<control:httpheaders runat="server" />
Into the <head> section:
<control:scriptloader type="sub" runat="server" />
Inside of the <body> section:
<body>
<ui:page id="..."> .. </ui:page>
</body>
Here's a diff of before and after: http://compositec1contrib.codeplex.com/SourceControl/changeset/changes/0b7bb354faf2#Sorting%2fPackage%2fComposite%2fInstalledPackages%2fCompositeC1Contrib.Sorting%2fSort.aspx