2008-08-21 27 views
4

Bir ASP.NET 1.1 uygulamasına sahibim ve bir ComboBox'u değiştirdiğimde neden başka bir değeri (ebeveyn-çocuk ilişkisi) doldurmak için kullanıldığını bulmaya çalışıyorum, iki geri gönderme üretiliyor.Çift geri bildirim sorunu

Kodu kontrol ettim ve kontrol ettim ve nedenini bulamıyorum. İşte

(bu ben bunu yapıyorlar neden bulmak istiyorum ne) page_load içinde

(teh ComboBox'ın AutoPostBack tarafından oluşturulan)

İlk geri gönderme

Postback call stack http://www.juanformoso.com.ar/images/callstack1.jpg

İkinci geri gönderme sona hem çağrı yığınları vardır

alt text http://www.juanformoso.com.ar/images/callstack2.jpg

Herhangi bir öneri ? Neleri kontrol edebilirim?

+2

resimlerinizi yeniden yüklemekten eğer çok iyi olurdu :) – Neysor

cevap

3

Bu kod ile çok özel bir problem, bunu başkası için yararlı olacağını şüphe, ama burada gider Geri gönderme işlevine açık bir çağrı yapıldı.

[select onchange="javascript: if (CustomFunction()){__doPostBack('name','')}; __doPostBack('name','')"] 
0

Bakacağım ilk şey, ikinci ComboBox'ın AutoPostBack özelliği true değerine ayarlanmadı. İkinci combo'daki değeri true olarak ayarlanan mülkle değiştirirseniz, bu kontrolde bir geri gönderme oluşturacağına inanıyorum.

0

Paylaştığınız herhangi bir kodunuz var mı? Çifte post backs beni klasik ASP'de o kadar çok sarstı ki, nihayet bana bir kez ve tamamen .NET'e geçmemi istedi. .NET için bu gibi problemlerim olduğunda, her KONTROL'e ve yük, init, prerender, click, SelectedIndexChanged ve benzeri gibi her PAGE öğesine gidip bir breakpoint koyuyorum.

Dim i As Integer 
i = 0 

Ben genellikle beklemediğim biraz hareket belirlemekte ve gerektiğinde düzeltmek mümkün duyuyorum: Ben orada koduna sahip olmasa bile

, şöyle bir şey ekleyeceksiniz. Bunu burada yapmanızı öneririm.

İyi şanslar.

0

Geri Bildirimi başlatan denetimi bulmak için ["__ EVENTTARGET"] sonucunu daraltın - bu daraltmanıza yardımcı olabilir.

Çağrı merkezlerine ve bazı Reflectoring'e bakma (ASP.NET 2'ye - 1.1 kullanamıyorum) - SessionStateModule.PollLockedSessionCallback'in HttpApplication başlangıç ​​yordamlarının bir parçası olduğu anlaşılıyor. Uygulamanızın geri dönüştürülmesi mümkün olabilir. Bunun için Etkinlik günlüğüne bir olay yazıldığından eminim.

Diğer tek önerim, istemcide HTTP trafiğini yakalamak için Fiddler veya bir şey olurdu. ,

denetlenmesi bir durum karşılandı eğer ile açılan en onchange eklendi:

0

Bu, çok eski bir yazı olduğunu ama: açılan AutoPostback ayarlı ise , asp.net iki göndermeleri üreten, tekrar geri gönderme çağrısı eklendi ...

oluşturulan html böyleydi insanlar hala bunu geçen hafta yaptığım gibi çözüm için bakıyor.

Grengby, Double olaylarının birincil nedenler olduğunu söyledi - ancak bunlardan birini kaldırmak bir seçenek değildir. Atleast benim durumumda ve bunu 3. parti uygulamasında çözmek zorunda kaldım.

Senaryonun aşağıdaki eklendi ve masterpage üzerinde ASP formunu değiştirilmiştir:

<script>var Q = 0;</script> 
<form id="Form1" runat="server" onsubmit="Q++; if(Q==1){return true;} else { return false;}"> 

Bu çalışıyor görünüyor ve yorumlarınızı iletin.

Arun

http://www.velocityreviews.com/forums/t117900-asp-net-multiple-postback-issue.html

İlgili konular