ASP.NET Master Pages are a great way to make reusable web page templates. A Master Page template file can hold all the common HTML markup, CSS and JavaScript references, and .NET controls that appear throughout the pages of your web site. Each of your web pages injects only its own specialized content into the shell of the Master Page.
Once you start using Master Pages as shared templates it’s tempting to start putting shared functionality into them. After all, Master Pages fire their own events like regular web form pages. They can be referenced as objects from the pages that use them. So they may seem like a good place to keep common functions and properties that you need throughout the pages in your site. But there are a few Master Page gotchas that make this a poor practice.