FineUI 官方论坛

标题: 开源版自定义自动隐藏提示框 [打印本页]

作者: kwwwvagaa    时间: 2016-6-16 17:16
标题: 开源版自定义自动隐藏提示框
我们先看下效果
[attach]8900[/attach]

这个是使用开源库 toastr 实现的。
首先,下载附件并解压到extjs文件夹下面(为了偷懒直接使用extjs路径),如下图
[attach]8902[/attach]
然后我们打开FineUI源码,找到Alert类并加入下面的代码
  1. public enum MyBoxType
  2.         {
  3.             NONE,
  4.             SUCCESS,
  5.             ERROR,
  6.             INFO,
  7.             WARNING
  8.         }

  9.         /// <summary>
  10.         /// 显示一个提示信息,持续2秒(by hzh)。
  11.         /// 消息或标题包含特定字符(不区分大小写)则调用对应提示,默认显示【信息】信息框,你也可以通过指定type来显示对应的提示框。
  12.         /// 包含“成功”||“SUCCESS”显示【成功】提示框。
  13.         /// 包含“失败”||“WARNING”显示【警告】提示框。
  14.         /// 包含“错误”||“ERROR”显示【错误】提示框。
  15.         /// 如果你想修改提示框的一些参数,修改js文件即可。
  16.         /// </summary>
  17.         /// <param name="message">消息</param>
  18.         /// <param name="title">标题</param>
  19.         /// <param name="type">类型</param>
  20.         public static void ShowMyBox(string message, string title = "", MyBoxType type = MyBoxType.NONE)
  21.         {
  22.             string strFunc = "ShowSuccessMsgbox";
  23.             if (type == MyBoxType.NONE)
  24.             {
  25.                 if (message.Contains("成功") || title.Contains("成功") || message.ToUpper().Contains("SUCCESS") || title.ToUpper().Contains("SUCCESS"))
  26.                 {
  27.                     type = MyBoxType.SUCCESS;
  28.                 }
  29.                 else if (message.Contains("失败") || title.Contains("失败") || message.ToUpper().Contains("WARNING") || title.ToUpper().Contains("WARNING"))
  30.                 {
  31.                     type = MyBoxType.WARNING;
  32.                 }
  33.                 else if (message.Contains("错误") || title.Contains("错误") || message.ToUpper().Contains("ERROR") || title.ToUpper().Contains("ERROR"))
  34.                 {
  35.                     type = MyBoxType.ERROR;
  36.                 }
  37.                 else
  38.                 {
  39.                     type = MyBoxType.INFO;
  40.                 }
  41.             }
  42.             switch (type)
  43.             {
  44.                 case MyBoxType.ERROR:
  45.                     strFunc = "ShowErrorMsgbox";
  46.                     break;
  47.                 case MyBoxType.INFO:
  48.                     strFunc = "ShowInfoMsgbox";
  49.                     break;
  50.                 case MyBoxType.WARNING:
  51.                     strFunc = "ShowWarningMsgbox";
  52.                     break;
  53.                 default:
  54.                     strFunc = "ShowSuccessMsgbox";
  55.                     break;
  56.             }
  57.             string strJs = strFunc + "('" + title + "','" + message + "')";
  58.             PageContext.RegisterStartupScript(strJs);
  59.         }
复制代码
找到RegisterCommonResource方法,在方法最后加上下面的东东
  1.   AddCssPathToHead(page, "toastr.min.css", extjsBasePath + "/toastr/toastr.min.css");
  2.             AddJavascriptPathToPageBottom(page, "jquery.min.js", extjsBasePath + "/toastr/jquery.min.js");
  3.             AddJavascriptPathToPageBottom(page, "toastr.min.js", extjsBasePath + "/toastr/toastr.min.js");
  4.             AddJavascriptPathToPageBottom(page, "MyMsgBoxEx.js", extjsBasePath + "/toastr/MyMsgBoxEx.js");
复制代码


下面就是使用了
在你需要调用的地方直接调用
Alert.ShowMyBox("停止成功");

如果前端js使用的话就调用
ShowErrorMsgbox("", "不能为空");

具体的js 你可以代码js文件去看就ok了

[attach]8901[/attach]

作者: Moongg    时间: 2016-6-16 17:20
@三石 收了 集合进来吧
作者: zy32002    时间: 2016-6-17 08:49
本帖最后由 zy32002 于 2016-6-17 09:01 编辑

这东东不常用,有需要自己整合。类似这种插件东东多入牛毛,都整合到一起框架问题多多。





欢迎光临 FineUI 官方论坛 (https://fineui.com/BBS/) Powered by Discuz! X3.4