コード例 #1
0
        protected virtual TResult VisitHelperBlockNode(HelperBlockNode helperBlockNode)
        {
            var result = this.Visit(helperBlockNode.HelperExpression);

            this.Visit(helperBlockNode.Block);

            return(result);
        }
コード例 #2
0
            protected override IClientModel VisitHelperBlockNode(HelperBlockNode helperBlockNode)
            {
                var helperNode          = helperBlockNode.HelperExpression;
                var helperHandlerClient = helperNode.HelperHandler as IBlockHelperHandlerClient;

                if (helperHandlerClient != null)
                {
                    _modelStack.Push(helperHandlerClient.Evaluate(_clientContext, _modelStack.Peek(), helperNode.Name, helperNode.Parameters));
                }

                this.Visit(helperBlockNode.Block);

                if (helperHandlerClient != null)
                {
                    _modelStack.Pop();
                    helperHandlerClient.Leave(_clientContext, _modelStack.Peek(), helperNode.Name, helperNode.Parameters);
                }
                return(null);
            }