Si se trata de scripts y enlaces para todas las páginas, debe salir de cualquier ContentPlaceHolders. Si se trata de secuencias de comandos y enlaces para esta página, debe ir dentro de un contenido dentro del encabezado. Si se trata de scripts predeterminados, colóquelos en un ContentPlaceHolder principal y, si es necesario, puede reemplazarlos por la página secundaria. (VS generalmente se queja de un ContentPlaceHolder en la cabeza, pero funciona bien para mí).
// master Page
<head runat="server">
<asp:ContentPlaceHolder id="head" runat="server">
<!-- Default scripts and CSS -->
<link rel="stylesheet" type="text/css" href="default.css" />
<script type="text/javascript" src="jquery.js"></script>
</asp:ContentPlaceHolder>
<!-- Mandatory scripts and css -->
<link rel="stylesheet" type="text/css" href="all.css" />
<script type="text/javascript" src="all.js"></script>
</head>
<body>
Master Page!
<asp:ContentPlaceHolder id="body" runat="server" />
</body>
// Child (no JQuery)
<asp:Content ContentPlaceHolderID="head" runat="server">
<link rel="stylesheet" type="text/css" href="default.css" />
<!-- Don't need JQuery -->
<script type="text/javascript" src="prototype.js"></script>
</asp:Content>
<asp:Content ContentPlaceHolderID="body" runat="server">
Child Page!
</asp:Content>
// Child 2 (with JQuery)
<asp:Content ContentPlaceHolderID="body" runat="server">
Child Page!
</asp:Content>
Parece que funciona a pesar de que se queja y lo tengo fuera, pero ¿qué ocurre si no tengo un marcador de posición principal? – Xaisoft
Agregar uno. ;) Por lo general, termino con al menos 3 marcadores de posición: 1 cabecera para guiones y estilos predeterminados, 1 cabezal para agregar guiones y estilos, y 1 contenido. –