2012-12-05 35 views
5

yılında kere Sayfamda birinde bir kullanıcı denetimi yoktur ve bu sayfadaSystem.Web.UI.Control.LoadRecursive() Benim kullanıcı denetimi veya sayfaya

Object reference not set to an instance of an object. 

I hata altına alıyorum Bu sorunu çok kolay bir şekilde çözdüm, ancak bu hatanın yığın izinde garip bir şey buldum. Ben yığın izleme işaretlendiğinde

bu Eksiksiz StackTrace ama bunun bir parçası değildir

at System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender, EventArgs e) 
at System.Web.UI.Control.OnLoad(EventArgs e) 
at System.Web.UI.Control.LoadRecursive() 
at System.Web.UI.Control.LoadRecursive() 
at System.Web.UI.Control.LoadRecursive() 
at System.Web.UI.Control.LoadRecursive() 
at System.Web.UI.Control.LoadRecursive() 
at System.Web.UI.Control.LoadRecursive() 
at System.Web.UI.Control.LoadRecursive() 
at System.Web.UI.Control.LoadRecursive() 
at System.Web.UI.Control.LoadRecursive() 
at System.Web.UI.Control.LoadRecursive() 
at System.Web.UI.Control.LoadRecursive() 
at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) 

altında gibiydi. Bu işlevin "System.Web.UI.Control.LoadRecursive()" rolünün ne olduğunu bilmek istiyorum. Bu 11 zaman denir ve bu uygulamada performans sorununa neden olabileceğinden korkuyorum. Bu işlevi kullanıyorum çünkü kullanıcı denetimi kullanıyorum. Bu tür kullanıcı denetimlerini uygulamamın birçok yerinde kullanıyorum.

Lütfen bunun hakkında herhangi bir bilgiye sahip olup olmadığını söyleyin.

cevap

2

LoadRecursive() akım denetimin OnLoad() yöntemine bir çağrı yapar ve sonra yinelemeli html iç içe olanlar dahil alt denetimlerin tüm üzerinde LoadRecursive() arayacak.

Özel denetiminize geçmek için iletilen tüm üst denetim için yığında 1 LoadRecursive() numaralı çağrı olacak. Kompozit kontroller, derinliğe eklenecek birçok tane olabilir.

Bu mutlaka bir performans sorunu değildir. Sadece yuvalama derinliğinin bir göstergesi.

İlgili konular