예제 #1
0
        public override void Process(ProcessContext context)
        {
            MvcEventPublisher.Instance.BeginAddNsLayout(context.ctx);
            if (context.ctx.utils.isSkipCurrentProcessor())
            {
                return;
            }

            MvcContext ctx = context.ctx;

            String content = context.getContent();

            int intNoLayout = ctx.utils.getNoLayout();

            if (intNoLayout < 0)
            {
                intNoLayout = 0;
            }

            IList paths     = ctx.utils.getLayoutPath();
            int   pathCount = paths.Count - intNoLayout;

            for (int i = 0; i < pathCount; i++)
            {
                Boolean isLastLayout = i == pathCount - 1;

                content = addLayoutPrivate(paths[i].ToString(), content, ctx, isLastLayout);

                if (ctx.utils.isEnd())
                {
                    context.endMsgByView(content);
                    return;
                }
            }



            if (intNoLayout > 0)
            {
                if (ctx.utils.isFrame())
                {
                    content = MvcUtil.getFrameContent(content);
                }
                else
                {
                    content = MvcUtil.getNoLayoutContent(content);
                }
            }

            context.setContent(content);
        }
예제 #2
0
        public override void Process( ProcessContext context )
        {
            MvcEventPublisher.Instance.BeginCheckActionMethod( context.ctx );
            if (context.ctx.utils.isSkipCurrentProcessor()) return;

            MvcContext ctx = context.ctx;
            MethodInfo actionMethod = ctx.controller.utils.getMethod( ctx.route.action );

            if (actionMethod == null) {
                ctx.web.ResponseStatus( HttpStatus.NotFound_404 );
                context.endMsgByView( lang.get( "exActionNotFound" ) );
            }
            else {
                //context.setActionMethod( actionMethod );
                context.ctx.setActionMethodInfo( actionMethod );
            }
        }
예제 #3
0
        public override void Process( ProcessContext context )
        {
            MvcEventPublisher.Instance.BeginAddNsLayout( context.ctx );
            if (context.ctx.utils.isSkipCurrentProcessor()) return;

            MvcContext ctx = context.ctx;

            String content = context.getContent();

            int intNoLayout = ctx.utils.getNoLayout();
            if (intNoLayout < 0) intNoLayout = 0;

            IList paths = ctx.utils.getLayoutPath();
            int pathCount = paths.Count - intNoLayout;
            for (int i = 0; i < pathCount; i++) {

                Boolean isLastLayout = i == pathCount - 1;

                content = addLayoutPrivate( paths[i].ToString(), content, ctx, isLastLayout );

                if (ctx.utils.isEnd()) {

                    context.endMsgByView( content );
                    return;

                }
            }

            if (intNoLayout > 0) {
                if (ctx.utils.isFrame()) {
                    content = MvcUtil.getFrameContent( content );
                }
                else {
                    content = MvcUtil.getNoLayoutContent( content );
                }
            }

            context.setContent( content );
        }