February 2007 Entries

Events and Resouce Leak

Had this question when I was reading “Effective C#: 50 Specific Ways to Improve Your C#”. In the item 18: "Implement the Standard Dispose Pattern", the book recommends to implements IDisposable.Dispose() to do following tasks: 1. Freeing all unmanaged resources. 2. Freeing all managed resource (this includes unhooking events). 3. … My question is on point 2, why do we have to unhook events? After having a look of how System.Delegate is implemented, I found the reason is actually quite simple. To ......

Posted On Tuesday, February 20, 2007 4:08 PM | Comments (1)

Restore ViewState data with ViewStateModeById

In my last post ViewState and Dynamic Control, I mentioned that ViewStateModeByIdAttribute can be used to change the default behavior of how ASP.NET finds the controls when ViewState data restored. Now, let's have a look how it can be done. For now, let's forget about ViewStateModeByIdAttribute for a second, and just have a simple page as following: Default.aspx <body> <form id="form1" runat="server"> <asp:Panel ID="pnlMain" runat="Server"> </asp:Panel> </form> </body> ......

Posted On Monday, February 19, 2007 10:18 PM | Comments (2)

ViewState and Dynamic Control

I thought I understand ViewState, until I came cross this exception: Failed to load viewstate. The control tree into which viewstate is being loaded must match the control tree that was used to save viewstate during the previous request. For example, when adding controls dynamically, the controls added during a post-back must match the type and position of the controls added during the initial request. This is a question asked by someone on a .NET mailing list. My first guess of what causing the ......

Posted On Saturday, February 17, 2007 8:31 AM | Comments (40)

Copyright © Changhong Fu

Design by Bartosz Brzezinski

Design by Phil Haack Based On A Design By Bartosz Brzezinski