public object Evaluate(Token contextToken, List <ExpressionArgument> arguments, ExecutionState state) { string[] types = new string[arguments.Count]; int c = 0; foreach (ExpressionArgument arg in arguments) { object o = arg.Expression.Evaluate(state, arg.Token); if (o == null) { o = String.Empty; } types[c++] = o.ToString(); } string scr = ResourceLoader.LoadTextResource(typeof(WebClientScripts).Assembly, "Sprocket.Web.javascript.generic.js") + ResourceLoader.LoadTextResource(typeof(WebClientScripts).Assembly, "Sprocket.Web.javascript.json.js") + ResourceLoader.LoadTextResource(typeof(WebClientScripts).Assembly, "Sprocket.Web.javascript.ajax.js") .Replace("$APPLICATIONROOT$", WebUtility.BasePath) .Replace("$LOADTIMESTAMP$", AjaxRequestHandler.Instance.PageTimeStamp.Ticks.ToString()) + WebClientScripts.Instance.GetAjaxMethodsScript(types); if (WebClientScripts.CompressJavaScript) { return(JavaScriptCondenser.Condense(scr)); } else { return(scr); } }
public string Render(PlaceHolder placeHolder, PageEntry pageEntry, XmlDocument content, Stack <string> placeHolderStack, out bool containsCacheableContent) { containsCacheableContent = true; Type[] types; if (placeHolder.Expression.Trim().Length > 0) { string[] typeNames = placeHolder.Expression.Split(','); types = new Type[typeNames.Length]; for (int i = 0; i < typeNames.Length; i++) { string typeName = typeNames[i].Trim(); if (typeName == "") { continue; } RegisteredModule mod = Core.Instance[typeName]; if (mod == null) { containsCacheableContent = false; return("alert('[Type " + typeName + " not found]');"); } types[i] = mod.Module.GetType(); } } else { types = new Type[0]; } string scr = ResourceLoader.LoadTextResource(typeof(WebClientScripts).Assembly, "Sprocket.Web.javascript.generic.js") + ResourceLoader.LoadTextResource(typeof(WebClientScripts).Assembly, "Sprocket.Web.javascript.json.js") + ResourceLoader.LoadTextResource(typeof(WebClientScripts).Assembly, "Sprocket.Web.javascript.ajax.js") .Replace("$APPLICATIONROOT$", WebUtility.BasePath) + WebClientScripts.Instance.GetAjaxMethodsScript(types); if (WebClientScripts.CompressJavaScript) { return(JavaScriptCondenser.Condense(scr)); } else { return(scr); } }