Çözüm: Atlas, Cookie problemi baÅŸlıklı yazıma dün Sayın Alper ÖZÇETİN tarafından bir yorum yapılmış. Yorumda sorunun Atlas June CTP’de düzelmiÅŸ olduÄŸu bilgisi var. Az önce Atlas June CTP’de neler yapılmış diye baktığımda Atlas ekibinin April CTP’den sonra inanılmaz ÅŸeyler yaptıklarını farkettim.
Bu deÄŸiÅŸikliklerden (düzenleme ve ya düzeltme olarak da isimlendirilebilir sanırım) en önemlisi, karşılaÅŸanınız var mıdır bilmiyorum, ama atlas:UpdatePanel kontrolünün Page‘in PreInit event’inden sonra eklenemiyor olması kuralını deÄŸiÅŸtirmiÅŸ olmasıdır.
June CTP’den önceki Atlas sürümlerinin hepsinde bu sorun vardı ve PreInit event’inden sonra eklenmeye çalışılan UpdatePanel kontrollerinde, sistemin tamamiyle çalışmaz hale gelmesine sebep oluyordu. Dolayısıyla, ya UpdatePanel kontrolünü sayfanıza designtime’da ekleyecektiniz ya da en geç olmak üzere PreInit event’i içerisinde sayfanıza runtime’da ekleyecektiniz.
Peki bunun sebep olduÄŸu en büyük sorun neydi? UserControl ve WebPart‘ların Page.Controls collection’ına PreInit event’inden sonra ekleniyor olmasıydı. Yani UpdatePanel‘i WebPart ve ya ASCX dosyalarınız içerisinde kullanmak, sadece bir hayaldi. Bu da WebPart‘lar üzerine kurulu bir sistemde, Atlas’ın kesinlikle kullanılamaması demekti.
June CTP öncesindeki sürümlerde PreInit zorunluluÄŸunun sebebi ÅŸuna benzer bir sebepten ötürü olduÄŸu belirtiliyordu (kendi cümlelerimle): Atlas birçoÄŸunuzun bildiÄŸi üzere JavaScript kodları kullanılarak çalışıyor ve her UpdatePanel kontrolü için de, Atlas Framework’ü sayfanızın kodları içerisine çeÅŸitli JavaScript kodları ekliyor. Bu kodlar da PreInit event’inin sonunda oluÅŸturulduÄŸu için, bu event sonrasında sayfaya herhangi bir UpdatePanel eklenemiyor.
http://atlas.asp.net adresinden alıntıdır:
UpdatePanel:
- UpdatePanels can be added to a page dynamically throughout the page lifecycle, including UpdatePanels inside templates. UpdatePanels now also work inside WebParts, and WebParts can be inside UpdatePanels.
- UpdatePanel will preserve cookies set during an async postback when Response.Redirect() is called. This fixes Login control scenarios where an authorization cookie is set and the user gets redirected to the previous page. [Karşılaşmış olduğum sorundu.]
Networking:
- ServiceMethod uses default error handler if none specified.
- XsltBridgeTransformer now works with VirtualPathProviders
- DBNull.Value now should be serialized as null
- ServiceReferences now support optional InlineProxy attribute for generating service proxies in the page rather than through a serviceurl/js script reference.
- Fix for scenarios where web service proxy contained the wrong port (webfarms, port forwarding)
Drag and Drop:
- Drag and drop will no longer produce debug output
- Interactive HTML elements (input, button, textarea, select, label, anchors with an href) can no longer be dragged directly
Miscellaneous Changes:
- Date.toFormattedString improvements
- Client-side data: SaveData fix for strongly-typed DataSets