public static HtmlString RunJavascript(this IHtmlHelper html, string script, PageLifecycleStage stage = PageLifecycleStage.Init) => RunJavascript(html, script, script, stage);
public static HtmlString RunJavascript(this IHtmlHelper html, string key, string script, PageLifecycleStage stage = PageLifecycleStage.Init) { var actions = html.ViewContext.HttpContext.Items["JavascriptActions"] as List <object>; if (actions == null) { html.ViewContext.HttpContext.Items["JavascriptActions"] = actions = new List <object>(); } // If already added, ignore: var exists = actions .Where(x => x.GetType().GetProperty("Script") != null) .Select(x => new { KeyProperty = x.GetType().GetProperty("Key"), Item = x }) .Where(x => x.KeyProperty != null) .Any(x => x.KeyProperty.GetValue(x.Item).ToStringOrEmpty() == key); if (!exists) { actions.Add(new { Script = script, Key = key, Stage = stage.ToString() }); } return(HtmlString.Empty); }
public JsonResult JavaScript(string script, PageLifecycleStage stage) => AddAction(new { Script = script, Stage = stage.ToString() });
public static HtmlString RunJavascript(this IHtmlHelper @this, JavascriptService service, PageLifecycleStage stage = PageLifecycleStage.Init) { var actions = @this.ViewContext.HttpContext.JavascriptActions(); var exists = actions.Any(x => x is JavascriptService j && j == service); if (!exists) { actions.Add(service); } return(HtmlString.Empty); }
public void JavaScript(string script, PageLifecycleStage stage = PageLifecycleStage.Init) => Add(new { Script = script, Stage = stage.ToString() });
public JsonResult JavaScript(string script, PageLifecycleStage stage = PageLifecycleStage.Init) { JavascriptActions.JavaScript(script, stage); return(JsonActions()); }
public void JavaScript(string script, PageLifecycleStage stage = PageLifecycleStage.Init) { JavascriptActions.JavaScript(script, stage); }