protected override void CreateChildControls() { Controls.Clear(); _loginViewData = new LoginViewData(UserName, Session); if (IsAuthenticated) { LoggedInTemplate.InstantiateIn(_loginViewData); } else { AnonymousTemplate.InstantiateIn(_loginViewData); } Controls.Add(_loginViewData); }
public override void BeforeVisit(AnonymousTemplate node) { base.AfterVisit(node); List<Expression> body = new List<Expression>(); var previousCurrentOutputExp = _analysisContext.CurrentOutputExpression; _analysisContext.CurrentOutputExpression = Expression.Parameter(typeof(TextWriter), AnalysisContext.CurrentOutputIdentifier); _analysisContext.ScopeStack.Push(node.Body.SymbolTable); body.Add(PushWriter()); body.Add(Expression.Assign(_analysisContext.CurrentOutputExpression, Expression.Property(_analysisContext.RuntimeContextExpression, _analysisContext.OutputWriterProperty))); body.Add(StatementBlockAnalyzer.Analyze(_analysisContext, node.Body)); body.Add(PopWriter()); var tmpOutputExpression = _analysisContext.CurrentOutputExpression; _analysisContext.CurrentOutputExpression = previousCurrentOutputExp; _result = Expression.Block(_analysisContext.TopSymbolTable.GetParameterExpressions().Union(new[] { tmpOutputExpression }), body); }