Example #1
0
        protected override void CreateChildControls()
        {
            Controls.Clear();
            _loginViewData = new LoginViewData(UserName, Session);

            if (IsAuthenticated)
            {
                LoggedInTemplate.InstantiateIn(_loginViewData);
            }
            else
            {
                AnonymousTemplate.InstantiateIn(_loginViewData);
            }

            Controls.Add(_loginViewData);
        }
Example #2
0
        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);
        }