Exemple #1
0
            public WebSourceXsltPageMaker(WebSourceXsltPageMakerConfig config)
            {
                JsonObjectPageMaker objectMaker = new JsonObjectPageMaker
                {
                    IsEncrypt = WebAppSetting.WebCurrent.OutputEncrypt,
                    IsGZip    = WebAppSetting.WebCurrent.OutputGZip
                };

                Add((source, pageData, outputData) => pageData.IsPost, objectMaker);
                string xsltFile = FileUtil.GetRealFileName(config.XsltFile, FilePathPosition.Xml);
                SimpleXsltPageMaker xsltMaker = new SimpleXsltPageMaker(xsltFile,
                                                                        config.UseXsltArgs, ContentTypeConst.HTML, Encoding.UTF8);

                Add((source, pageData, outputData) => !pageData.IsPost, xsltMaker);
            }
Exemple #2
0
        public IContent WritePage(ISource source, IPageData pageData, OutputData outputData)
        {
            IPageMaker pageMaker = null;

            switch (DataType)
            {
            case ContentDataType.Json:
                pageMaker = new JsonObjectPageMaker();
                break;

            case ContentDataType.Xml:
                pageMaker = new XmlObjectPageMaker(null, null);
                break;

            default:
                TkDebug.ThrowImpossibleCode(this);
                break;
            }
            WebErrorResult error = outputData.Data as WebErrorResult;

            if (error != null)
            {
                return(pageMaker.WritePage(source, pageData, outputData));
            }
            else
            {
                string url = null;
                if (UseRetUrlFirst)
                {
                    url = pageData.QueryString["RetURL"];
                }
                if (string.IsNullOrEmpty(url))
                {
                    url = GetDefaultUrl(source, pageData, outputData);
                }
                WebSuccessResult success = new WebSuccessResult(url)
                {
                    AlertMessage = AlertMessage
                };
                OutputData newData = OutputData.CreateToolkitObject(success);
                return(pageMaker.WritePage(source, pageData, newData));
            }
        }