private string RenderScript() { bool hasCallback = false; StringBuilder scripts = new StringBuilder(); StringBuilder options = new StringBuilder(); StringBuilder callbackScripts = new StringBuilder(); StringBuilder callbackWrapper = new StringBuilder(); options.AppendFormat("$().ready(function () {{initSessionMessage('{0}','{1}','{2}','{3}','{4}','{5}','{6}','{7}','{8}');}});" , CloseButton.ToString().ToLower(), NewestOnTop.ToString().ToLower(), Progressbar.ToString().ToLower(), ConvertPosition(DisplayPosition), Timeout, ExtendedTimeout, ConvertAnimitioEffect(ShowAnimitionEffect), ConvertAnimitioEffect(HideAnimitionEffect), ConvertAnimitioEffect(CloseAnimitionEffect)); scripts.AppendFormat("<script type='text/javascript'>{0}</script>", options.ToString()); //var scriptPath=_urlHelper.GetUrlHelper(_actionContextAccessor.ActionContext).Content("~/lib"); var scriptPath = _urlHelper.GetUrlHelper(_actionContextAccessor.ActionContext).Content("~"); //scripts.AppendFormat("<script type='text/javascript' src='{0}/session-message/dist/js/sessionmessage{1}.js'></script>", scriptPath, _hostingEnvironment.IsDevelopment()?"":".min"); scripts.AppendFormat("<script type='text/javascript' src='{0}/sessionmessage/Scripts/sessionmessage{1}.js'></script>", scriptPath, _hostingEnvironment.IsDevelopment() ? "" : ".min"); callbackWrapper.AppendLine("function sessionMessageCloseCallback(event){"); List <Core.SessionMessage> sessionMessages = _sessionMessageManager.GetMessage(); if (sessionMessages != null && sessionMessages.Count > 0) { for (int i = 0; i < sessionMessages.Count; i++) { var sessionMessage = sessionMessages[i]; switch (sessionMessage.Behavior) { case MessageBehaviors.Modal: if (!string.IsNullOrWhiteSpace(sessionMessage.CloseCallBack)) { hasCallback = true; callbackScripts.AppendFormat("function smcc{0}(event){{{1}}}", i, sessionMessage.CloseCallBack); callbackWrapper.AppendLine(string.Format("smcc{0}(event);", i)); } break; } } } if (hasCallback) { scripts.AppendLine("<script type='text/javascript'>"); scripts.AppendLine(callbackScripts.ToString()); callbackWrapper.Append("}"); scripts.AppendLine(callbackWrapper.ToString()); scripts.AppendLine("</script>"); } return(scripts.ToString()); }