You are wondering whether master pages
Avoiding ASP.NET master pages(避免使用母版页)
We will start with one of the biggest master page problems: the performance
Confusion(容易混淆)
Master pages are confusing because they do not inherit as you might think they should. For a content page to access object data based on the master page, it must take a confusing route and use Master.Page.FindControls(). Here's some code that shows how to change the value of a TextBox when using a master page.
// How content page can change TextBox.
TextBox mpTextBox = mpContentPlaceHolder.FindControl("TextBox1") as TextBox;
if (mpTextBox != null)
{
mpTextBox.Text = "TextBox found!";
}
Alternative without master pages.
// How regular page can change TextBox.
TextBox1.Text = "TextBox found";
IntelliSense(智能感知)
Perhaps the biggest advantage of Visual Studio is that it has a powerful programming "helper" that tells you whether something exists and what it is. In the second example above, IntelliSense will work and tell you that the TextBox exists. In content pages, it will not.
Cache directives(缓存指令)
You want to have a site-wide caching scheme, but master pages will not let you specify it there. You must change the cache settings of each content page separately. If you have few pages, this is fine, but it becomes less practical as your site grows.
<%-- Can't put on master page. --%>
<%@ OutputCache Duration="600" VaryByParam="file" %>
Site growth(网站增长)
A good use of a content page that uses a master page is to have one for the "contact us" or "about us" page. However, if your business grows a lot, you might need ten contact pages. You then have 10 more source files, and many more files to compile.
Content versus code.
Data separation.
Summary(小结)
Here we looked at some drawbacks of master pages
http://dotnetperls.com/master-page-drawbacks