Why do we need static methods for Post Cache substitution?
The ASP.NET should be able to call this static method even when there isn't an instance of your page class available. When your page is served from the cache, the page object isn't created. So ASP.NET skips the page life cycle when the page is coming from the cache that means it won't create any control objects or raise any control events. If your dynamic content depends on the values of other controls, you'll need to use various techniques, as these control objects won't be available to your callback.