protected override sealed void OnInit(EventArgs e) #pragma warning restore 0809 { if (!_isWxeInfoInitialized) { _wxeInfo.Initialize(Context); _isWxeInfoInitialized = true; } if (_replacer == null) { var replacer = new ControlReplacer(new InternalControlMemberCaller()); replacer.ID = ID + "_Parent"; _permanentUniqueID = UniqueID.Insert(UniqueID.Length - ID.Length, replacer.ID + IdSeparator); IUserControlExecutor userControlExecutor = GetUserControlExecutor(); WxeUserControl control; IStateModificationStrategy stateModificationStrategy; if (!userControlExecutor.IsNull && !userControlExecutor.IsReturningPostBack) { Assertion.IsTrue(userControlExecutor.UserControlID == _permanentUniqueID); var currentUserControlStep = (WxeUserControlStep)userControlExecutor.Function.ExecutingStep; control = (WxeUserControl)Page.LoadControl(currentUserControlStep.UserControl); if (!currentUserControlStep.IsPostBack) { stateModificationStrategy = new StateClearingStrategy(); } else { stateModificationStrategy = new StateLoadingStrategy(); } } else { if (userControlExecutor.IsReturningPostBack) { control = (WxeUserControl)Page.LoadControl(userControlExecutor.BackedUpUserControl); stateModificationStrategy = new StateReplacingStrategy(userControlExecutor.BackedUpUserControlState); } else { control = this; stateModificationStrategy = new StateLoadingStrategy(); } } control.ID = ID; control._permanentUniqueID = _permanentUniqueID; replacer.ReplaceAndWrap(this, control, stateModificationStrategy); } else { CompleteInitialization(); } }