Ho cercato SO & google, ma non riesco a farlo funzionare. Il codice si trova nell'evento clickbehind di un pulsante "Annulla" nella mia applicazione asp.net ma sembra non chiudere la finestra popup. Qualche idea?ClientScript.RegisterStartupScript non funziona
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);
}
}
}
Aggiornamento: dopo il postback, quando guardo la pagina di origine, l'unico codice che vedo relativo è:
//<![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'));
}
Ha lo script ottenere rese sul postback, o nessuno script a tutti? –
@Steven, non sono sicuro di cosa intendi – Csharp
Quando fai clic sul pulsante Annulla e viene eseguito il postback, visualizza l'origine della pagina. Il 'window.close();' è in esecuzione e non è onorato dal browser, o c'è un problema con il codice C# che hai postato. –