Документы для @MasterType имеют этот пример.
<%@ Page masterPageFile="~/MasterPage.master"%>
<%@ MasterType virtualPath="~/MasterPage.master"%>
Почему @MasterType
даже необходимый? Не мог компилятор автоматически принимать те же меры, базирующиеся только на @Page masterPageFile
? Когда Вы не хотели бы использовать обоих?
Вы можете установить разные главные страницы на каждой странице Preinit. Таким образом, главная страница вообще не определена.