Szukałem SO & google, ale nie wydaje mi się, aby to działało. Kod jest w kodzie zdarzenia kliknięcia przycisku "Anuluj" w mojej aplikacji asp.net, ale nie wydaje się, aby zamknąć okno wyskakujące. Jakieś pomysły?ClientScript.RegisterStartupScript nie działa
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);
}
}
}
Aktualizacja: Po odświeżenie strony, gdy patrzę na stronie źródłowej, tylko kod widzę powiązany jest:
//<![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'));
}
Czy skrypt uzyskać renderowane na odświeżenie lub bez scenariusza w ogóle? –
@Steven, nie wiesz, co masz na myśli – Csharp
Po kliknięciu przycisku anulowania i odświeżeniu strony, wyświetl źródło strony. Czy 'window.close();' jest wyprowadzany i nie jest honorowany przez przeglądarkę, czy też istnieje problem z opublikowanym przez ciebie kodem C#. –