/// <summary> /// Render all messages that have been set during execution of the controller action. /// </summary> /// <param name="htmlHelper"></param> /// <returns></returns> public static HtmlString RenderMessages(this HtmlHelper htmlHelper, MessageDialogType type = MessageDialogType.AdminLTE) { var messages = String.Empty; foreach (var messageType in Enum.GetNames(typeof(MessageType))) { var message = htmlHelper.ViewContext.ViewData.ContainsKey(messageType) ? htmlHelper.ViewContext.ViewData[messageType] : htmlHelper.ViewContext.TempData.ContainsKey(messageType) ? htmlHelper.ViewContext.TempData[messageType] : null; if (message != null) { var lowermessage = messageType.ToLowerInvariant(); MessageType msgType = (MessageType)Enum.Parse(typeof(MessageType), messageType, true); var messageTitle = msgType.GetDisplayValue(); var messageBoxBuilder = new TagBuilder("div"); if (type == MessageDialogType.BootStrap) { messageBoxBuilder.AddCssClass(string.Format("alert alert-{0} fade in", lowermessage)); messageBoxBuilder.InnerHtml = string.Format("<button class='close' data-dismiss='alert' aria-label='close'>×</button><strong>{0}</strong> {1}", messageTitle, message.ToString()); } else { messageBoxBuilder.AddCssClass(string.Format("alert alert-{0} fade in", lowermessage)); string msgicon = ""; switch (lowermessage) { case "danger": msgicon = "fa-ban"; break; case "info": msgicon = "fa-info"; break; case "warning": msgicon = "fa-warning"; break; case "success": msgicon = "fa-check"; break; default: break; } messageBoxBuilder.InnerHtml = string.Format("<button type = 'button' class='close' data-dismiss='alert' aria-hidden='true'>×</button>" + "<h4><i class='icon fa {0}'></i> {1}</h4>{2}", msgicon, messageTitle, message.ToString()); } messages += messageBoxBuilder.ToString(); } } return(MvcHtmlString.Create(messages)); }