private static async Task <string> ParseDynamicAsync(IParseManager parseManager, string testType, string testValue, string testOperate, string loading, string yes, string no, string onBeforeSend, string onSuccess, string onComplete, string onError) { var pageInfo = parseManager.PageInfo; var contextInfo = parseManager.ContextInfo; if (string.IsNullOrEmpty(yes) && string.IsNullOrEmpty(no)) { return(string.Empty); } await pageInfo.AddPageHeadCodeIfNotExistsAsync(ParsePage.Const.StlClient); var elementId = StringUtils.GetElementId(); //运行解析以便为页面生成所需JS引用 if (!string.IsNullOrEmpty(yes)) { await parseManager.ParseInnerContentAsync(new StringBuilder(yes)); } if (!string.IsNullOrEmpty(no)) { await parseManager.ParseInnerContentAsync(new StringBuilder(no)); } var dynamicInfo = new DynamicInfo(parseManager.SettingsManager) { ElementName = ElementName, SiteId = pageInfo.SiteId, ChannelId = contextInfo.ChannelId, ContentId = contextInfo.ContentId, TemplateId = pageInfo.Template.Id, ElementId = elementId, LoadingTemplate = loading, SuccessTemplate = yes, FailureTemplate = no, OnBeforeSend = onBeforeSend, OnSuccess = onSuccess, OnComplete = onComplete, OnError = onError }; var ifInfo = new DynamicInfo.IfInfo { Type = testType, Op = testOperate, Value = testValue }; dynamicInfo.ElementValues = TranslateUtils.JsonSerialize(ifInfo); var dynamicUrl = parseManager.PathManager.GetIfApiUrl(); return(dynamicInfo.GetScript(dynamicUrl, true)); }
private static string ParseDynamic(PageInfo pageInfo, ContextInfo contextInfo, string testType, string testValue, string testOperate, string loading, string yes, string no, string onBeforeSend, string onSuccess, string onComplete, string onError) { if (string.IsNullOrEmpty(yes) && string.IsNullOrEmpty(no)) { return(string.Empty); } pageInfo.AddPageBodyCodeIfNotExists(PageInfo.Const.StlClient); var ajaxDivId = StlParserUtility.GetAjaxDivId(pageInfo.UniqueId); //运行解析以便为页面生成所需JS引用 if (!string.IsNullOrEmpty(yes)) { StlParserManager.ParseInnerContent(new StringBuilder(yes), pageInfo, contextInfo); } if (!string.IsNullOrEmpty(no)) { StlParserManager.ParseInnerContent(new StringBuilder(no), pageInfo, contextInfo); } var dynamicInfo = new DynamicInfo { ElementName = ElementName, SiteId = pageInfo.SiteId, ChannelId = contextInfo.ChannelId, ContentId = contextInfo.ContentId, TemplateId = pageInfo.TemplateInfo.Id, AjaxDivId = ajaxDivId, LoadingTemplate = loading, SuccessTemplate = yes, FailureTemplate = no, OnBeforeSend = onBeforeSend, OnSuccess = onSuccess, OnComplete = onComplete, OnError = onError }; var ifInfo = new DynamicInfo.IfInfo { Type = testType, Op = testOperate, Value = testValue }; dynamicInfo.ElementValues = TranslateUtils.JsonSerialize(ifInfo); return(dynamicInfo.GetScript(ApiRouteActionsIf.GetUrl(pageInfo.ApiUrl))); }