Κλείστε το παράθυρο του προγράμματος περιήγησης της εφαρμογής ASP.NET και AJAX

ψήφοι
1

Ποιος είναι ο καλύτερος τρόπος για να κλείσετε ένα παράθυρο του browser της αίτησης AJAX ASP.NET μετά την εκτέλεση του διακομιστή.

Βρήκα αυτό λύση , αλλά φαίνεται λίγο πολύπλοκο για αυτό που θέλετε να πετύχετε. Ή είναι αυτός ο καλύτερος τρόπος για να ολοκληρώσει το έργο μου.

UPDATE: Έχω να κλείσετε το παράθυρο αφού πατηθεί το κουμπί

UPDATE 1: Δοκίμασα τη λύση από την άλλη ερώτηση SO, και δεν λειτούργησε για μένα.

<asp:Button ID=btnMyButton runat=server onClick=btnMyButton_Click />

protected void btnMyButton_Click(object sender, EventArgs e)
{
}

Χρησιμοποίησα τον ακόλουθο κώδικα στη σελίδα μου, αλλά το «Η ιστοσελίδα που προβάλετε προσπαθεί να κλείσει τα παράθυρα» παράθυρο ανασηκωθεί η μονάδα.

if (ScriptManager.GetCurrent(this).IsInAsyncPostBack)
            ScriptManager.RegisterStartupScript(upApproveRequest, typeof(string), closeWindow, window.close();, true);

Κάθε τρόπος για να αποφευχθεί αυτό;

Δημοσιεύθηκε 10/12/2008 στις 00:49
πηγή χρήστη
Σε άλλες γλώσσες...                            


4 απαντήσεις

ψήφοι
1

Στην πραγματικότητα, μπορείτε να το κάνετε αυτό με την τοποθέτηση τον ακόλουθο κώδικα στο συμβάν κλικ το κουμπί σας.

protected void btnMyButton_Click(object sender, ImageClickEventArgs e)
{
    // Update database
    bool success = Presenter.DoDatabaseStuff();

    if (success)
    {
        // Close window after success
        const string javaScript = "<script language=javascript>window.top.close();</script>";
        if (!ClientScript.IsStartupScriptRegistered("CloseMyWindow"))
        {
            ClientScript.RegisterStartupScript(GetType(),"CloseMyWindow", javaScript);
        }
    }
    else
    {
        // Display failure result
        result_msg_area.Visible = true;
        lblError.Text = "An error occurred!";                
    }
}
Απαντήθηκε 10/09/2010 στις 15:36
πηγή χρήστη

ψήφοι
1

Όχι, δεν υπάρχει κανένας τρόπος για να κλείσετε ένα παράθυρο του προγράμματος περιήγησης χωρίς τη συγκατάθεση του χρήστη. Μπορείτε να αποσυνδεθείτε από την εφαρμογή τους, αλλά δεν μπορείτε να δια της βίας να κλείσετε το παράθυρο του προγράμματος περιήγησης.

Απαντήθηκε 10/12/2008 στις 03:23
πηγή χρήστη

ψήφοι
0

Για να αποφύγετε την προειδοποίηση σενάριο, μπορείτε να χρησιμοποιήσετε αυτό:

window.open('', '_self', '');window.close();

Ετσι:

if (ScriptManager.GetCurrent(this).IsInAsyncPostBack)
        ScriptManager.RegisterStartupScript(upApproveRequest, typeof(string), "closeWindow", "window.open('', '_self', '');window.close();", true);
Απαντήθηκε 14/02/2012 στις 20:43
πηγή χρήστη

ψήφοι
-2

Αυτό είναι λίγο πολύ αυτό. Μπορείτε να χρησιμοποιήσετε μόνοScriptManager.RegisterStartupScript(...)

Απαντήθηκε 10/12/2008 στις 00:53
πηγή χρήστη

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more