ClientScript.RegisterStartupScript no funciona

He buscado SO y google, pero parece que no consigo que esto funcione. El código está en el evento de clic en el código siguiente de un botón "Cancelar" en mi aplicación asp.net pero no parece cerrar la ventana emergente. ¿Algunas ideas?

try
{
    if (btnCancel.Text == "Close")
    {
        String csName1 = "PopupScript";
        Type csType = this.GetType();

        ClientScriptManager cs = Page.ClientScript;
        if (!cs.IsClientScriptBlockRegistered(csType, csName1))
        {
            ClientScript.RegisterStartupScript(GetType(), "ClosePopup", "window.close();", true);
        }
    }
}  

Actualizar: Después de la devolución, cuando miro la página de origen, el único código que veo es:

//<![CDATA[
(function() {var fn = function() {$get("ToolkitScriptManager1_HiddenField").value = '';Sys.Application.remove_init(fn);};Sys.Application.add_init(fn);})();window.close();
document.getElementById('ValidationSummary1').dispose = function() {
    Array.remove(Page_ValidationSummaries, document.getElementById('ValidationSummary1'));
}

Respuestas a la pregunta(2)

Su respuesta a la pregunta