Combinamos el método de Andy con una clase "BasePage": creamos una clase que hereda de System.Web.UI.Page, y luego todas nuestras páginas heredan de esta clase.
Luego, en nuestra clase de página base, podemos realizar las comprobaciones pertinentes para ver qué página raíz se debe usar: en nuestro caso, tenemos un maestro "Presentación" y un maestro "Autoría": la versión de presentación tiene todos los muebles de navegación y página, junto con CSS de pantalla grande, mientras que el maestro autor tiene algunos JS adicionales para las herramientas de autoría, CSS más ligero y ninguna navegación (es lo que usamos cuando el usuario está realmente creando una página, en lugar de modificar el plano del sitio).
Esta página base puede llamar a Page.Master.MasterPageFile y configurarlo en el maestro de autoría si ese es el estado correcto para la página.
Hmm sí, esa es una solución. Desafortunadamente eso significa poner código en cada página que usa la página maestra en lugar de en un solo lugar. No estoy seguro de cuál es la menor de dos males ... ¡copiar la página maestra para que haya dos copias sería mucho menos trabajo! –