Я рекомендую против этого, так как это исправление самого узла, но ... ну, никаких изменений в том, как вам требуются вещи.
(function() {
"use strict";
var path = require('path');
var oldRequire = require;
require = function(module) {
var fixedModule = path.join.apply(path, module.split(/\/|\\/));
oldRequire(fixedModule);
}
})();
Итак, ответ заключается в том, что если вы измените главную страницу на странице, не установив для свойства EnableViewState MasterPage значение EnableViewState страницы, то вы получите поведение, описанное в вопросе.
Там - это HttpModule, который изменяет MasterPage на основе некоторых критериев, установленных другими частями приложения. Установив MasterPage.EnableViewState = Page.EnableViewState в свойстве OnInit главной страницы, я смог восстановить ожидаемое поведение.
Из того, что я наблюдал в .NET 2.0, отключение ViewState на уровне страницы или приложения отключит его для всех дочерних элементов, независимо от того, что дочерние элементы указывают в своих свойствах enableviewstate.
Если вы хотите использовать состояние просмотра даже для одного элемента управления, вы не можете установить для enableviewstate значение false на уровне страницы или приложения.