Bu here yayınlanmıştır, ama tek başına bir soru hak diye düşündüm. Ben bunu yapmaya çalışıyorum neASP.NET iki kez
o/o kaydedilmemiş değişiklikler olup olmadığını sayfadan ayrılmak istiyorsa kullanıcıyı soran bir iletişim kutusu görünmek. Her şey yolunda.
herkes Internet Explorer onbeforeunload olayı iki kez tetikler sorun rastlamak Has
: Ama sorun aşağıda açıklanmıştır? Etrafında Googling yaparken, (diğerleri arasında) bir ASP.NET linkbutton için HTML kodu<a href="javascript: __doPostBack...
olduğu gerçeği ile ilgili bir şey olduğunu buldum. IE bir
href="#"
sahip olmayan bir bağlantıyı hatırlayacağı
Görünüşe
, bu onbeforeunload olayı tetikler. Ardından, gösterdiğimiz javascript iletişim kutusunu onayladığınızda, sayfa diğer sayfaya gitmek için 'gerçek' boşaltma yapacak ve onbeforeunload olayını ikinci kez yükseltecektir.internette sunulan bir çözüm bir boolean değişkeni ayarlamak ve iletişim göstermeden önce üzerine kontrol etmektir. Yani ikinci kez, gösterilmeyecek. Her şey yolunda, ancak kullanıcı iptal ettiğinde, değişken hala ayarlanacaktır. Dolayısıyla, kullanıcı sayfayı terk etmek istediğinde, iletişim kutusu artık gösterilmeyecek.
Bu biraz açık, ve umarım birisi bu konuda bir yol bulmuştur?
Bence cevabımı tam anlamıyla alıyorsunuz. Onaylama değerini, iletişim kutusunu göstermeden önce kontrol etmek için kullandığınız bir bayrakta saklamak istediğiniz anlamına gelir. Sanırım her iki tarafta da var. – annakata