博客园已经越来越不公正了,居然说我这篇文章没有实质的内容!!

我其实真的想问哪些通篇几十个字,没任何代码和技术分享,嚷嚷着送书的文章的就能雄霸博客园首页几天,我这篇文章偏偏就为管理员所容不下。

其实我猜测的原因无外乎两点:1. 管理员看我不爽  2. 竞争对手打压 

其实也没必要争啥,毕竟是别人的地盘别人说了算,想来以后在博客园发文章的次数也不会很多了。

我这里投诉!又把我的这篇知识分享网站移出首页!

这难道不是一篇知识分享的文章么:
FineUI(专业版)实现百变通知框(无JavaScript代码)!
http://www.cnblogs.com/sanshi/p/3925614.html

之前,我发了一篇FineUI(开源版)版本发布的文章,你们说不行,我无话可说;有另一篇知识分享的文章被移出首页“FineUI小技巧(6)自定义页面回发”,你们说是搞错了。

今天,我憋了几个星期发了一篇知识分享的文章(讲解如何实现通知框,有文字描述、参数介绍、示例代码、最终实现的效果),请问为啥又被移出首页。

我又仔细对比了你们的要求:
====
下列类型的随笔不允许发布到首页(不仅限于下列类型): 
1) 转载; (我是原创)
2) 代码为主; (我有文字,有示例,有截图)
3) 简单的提问; (我是知识分享)
4) 软件发布; (我是知识分享)
5)人才招聘; (我是知识分享)
6) 包含推广或广告内容(正文中不能夹带广告,页面第1屏不允许出现广告); (整篇文章内有任何广告词,你们不会说FineUI就是广告吧)
7)活动信息; (没有)
8)没有自己心得的读书笔记; (我是原创)
9)关闭评论功能的随笔。 (没有)

请问那点不合适发到首页????

-->

曾经,有网友抱怨FineUI中连个通知框都没有,当用户进行某个操作成功时给个右下角的提示很不方便。

强大的设置参数

现在,FineUI(专业版)提供了强大的通知框机制,一个小小的通知框居然有多达 16 种不同的设置,可见威力之强大。

下面通过一张图片来简单概括一下:

1. 模式或者非模式对话框
2. 消息图标可显示(消息、警告、问题、错误、成功),也可隐藏
3. 正在加载图片可显示隐藏
4. 消息正文可自定义
5. 对话框标题可自定义
6. 关闭图标可显示隐藏
7. 标题栏可拖动
8. 标题栏可隐藏
9. 弹出问题可自定义(四个角落、上下左右居中、正中 共 9 个位置)
10. 对话框显示时间可设定
11. 对话框宽度可固定
12. 可设置对话框最小宽度和最大宽度
13. 可在当前页面、父页面、顶层页面弹出
14. 可设置对话框ID,通过JS自行关闭
15. 可设置消息正文居左、居中或者居右显示
16. 可设置正文区域的内边距

服务器端创建通知框

FineUI(专业版)还专门提供了一个页面来设置通知对话框的各个属性:

下面我们来看下点击按钮的代码:

Notify notify = new Notify();
notify.Message = tbxMessage.Text; notify.MessageBoxIcon = (MessageBoxIcon)Enum.Parse(typeof(MessageBoxIcon), rblMessageBoxIcon.SelectedValue, true);
notify.Target = (Target)Enum.Parse(typeof(Target), rblTarget.SelectedValue, true); if (!String.IsNullOrEmpty(nbWidth.Text))
{
notify.Width = Convert.ToInt32(nbWidth.Text);
} if (cbxShowHeader.Checked)
{
notify.ShowHeader = true; if (!String.IsNullOrEmpty(tbxTitle.Text))
{
notify.Title = tbxTitle.Text;
} notify.EnableDrag = cbxEnableDrag.Checked;
notify.EnableClose = cbxEnableClose.Checked;
}
else
{
notify.ShowHeader = false;
} notify.DisplayMilliseconds = Convert.ToInt32(nbDisplayMilliseconds.Text); notify.PositionX = (Position)Enum.Parse(typeof(Position), rblPositionX.SelectedValue, true);
notify.PositionY = (Position)Enum.Parse(typeof(Position), rblPositionY.SelectedValue, true); notify.IsModal = cbxIsModal.Checked; if (!String.IsNullOrEmpty(tbxBodyPadding.Text))
{
notify.BodyPadding = tbxBodyPadding.Text;
} notify.MessageAlign = (TextAlign)Enum.Parse(typeof(TextAlign), ddlMessageAlign.SelectedValue, true); if (cbxShowLoading.Checked)
{
notify.ShowLoading = true;
} if (!String.IsNullOrEmpty(nbMinWidth.Text))
{
notify.MinWidth = Convert.ToInt32(nbMinWidth.Text);
} if (!String.IsNullOrEmpty(nbMaxWidth.Text))
{
notify.MaxWidth = Convert.ToInt32(nbMaxWidth.Text);
} if (!String.IsNullOrEmpty(tbxID.Text))
{
notify.ID = tbxID.Text;
} notify.Show();

其实就是简单的Notify的属性设置,然后掉用 Show 方法就可以了。

整个过程没有写一行JavaScript代码,是不是很方便!

调用通知框的三种方式

上面演示了如果在服务器段通过 C# 代码来生成通知框,当然这个过程需要页面回发,也就是有一次AJAX请求。

如何在页面加载时直接生成通知框的脚本呢?

调用通知框的第二种方式:

protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
Notify notify = new Notify();
notify.Message = "正在加载中...";
notify.ShowLoading = true;
notify.PositionX = Position.Center;
notify.PositionY = Position.Center; btnHello.OnClientClick = notify.GetShowReference();
}
}

这种方式直接在页面第一次加载时生成客户端脚本。

调用通知框的第二种方式当然就是直接写JavaScript代码了:

F.notify({
message: "数据保存成功!",
messageIcon: "success",
modal: true,
displayMilliseconds: 50000,
positionX: "center",
positionY: "center",
bodyPadding: "10px",
showLoading: true,
minWidth: 300,
maxWidth: 600
});

创建出来的部分通知框

在线示例:http://fineui.com/demo_pro/#/demo_pro/message/notify.aspx

如果本文对你有所启发或者帮助,请猛击“好文要顶”,支持原创,支持三石!

FineUI(专业版)实现百变通知框(无JavaScript代码)!的更多相关文章

  1. Selenium切换窗口,警告框处理,调用JavaScript代码

    多窗口切换 在页面操作过程中有时候点击某个链接会弹出新的窗口,这时就需要主机切换到新打开的窗口上进行操作. WebDriver提供了switch_to.window()方法,可以实现在不同的窗口之间切 ...

  2. 请写出一段JavaScript代码,要求页面有一个按钮,点击按钮弹出确认框。程序可以判断出用

    请写出一段JavaScript代码,要求页面有一个按钮,点击按钮弹出确认框.程序可以判断出用 户点击的是“确认”还是“取消”. 解答: <HTML> <HEAD> <TI ...

  3. Google JavaScript代码风格指南

    Google JavaScript代码风格指南 修正版本 2.28 Aaron Whyte Bob Jervis Dan Pupius Eric Arvidsson Fritz Schneider R ...

  4. javascript代码 调试方法

    你的代码可能包含语法错误,逻辑错误,如果没有调试工具,这些错误比较难于发现. 通常,如果 JavaScript 出现错误,是不会有提示信息,这样你就无法找到代码错误的位置. 在程序代码中寻找错误叫做代 ...

  5. python 全栈开发,Day50(Javascript简介,第一个JavaScript代码,数据类型,运算符,数据类型转换,流程控制,百度换肤,显示隐藏)

    一.Javascript简介 Web前端有三层: HTML:从语义的角度,描述页面结构 CSS:从审美的角度,描述样式(美化页面) JavaScript:从交互的角度,描述行为(提升用户体验) Jav ...

  6. 前端JavaScript(1) --Javascript简介,第一个JavaScript代码,数据类型,运算符,数据类型转换,流程控制,百度换肤,显示隐藏

    一.Javascript简介 Web前端有三层: HTML:从语义的角度,描述页面结构 CSS:从审美的角度,描述样式(美化页面) JavaScript:从交互的角度,描述行为(提升用户体验) Jav ...

  7. 新书《编写可测试的JavaScript代码 》出版,感谢支持

    本书介绍 JavaScript专业开发人员必须具备的一个技能是能够编写可测试的代码.不管是创建新应用程序,还是重写遗留代码,本书都将向你展示如何为客户端和服务器编写和维护可测试的JavaScript代 ...

  8. 利用chrome调试JavaScript代码

    看见网上很多人问怎么用chrome调试JavaScript代码,我也对这个问题抱着疑问,但是没有找到一篇能用的中文文章(可能我的google有问题),也不知道怎么点出一篇E文的,感觉作者写得不错,所以 ...

  9. 编写可测试的JavaScript代码

    <编写可测试的JavaScript代码>基本信息作者: [美] Mark Ethan Trostler 托斯勒 著 译者: 徐涛出版社:人民邮电出版社ISBN:9787115373373上 ...

随机推荐

  1. 《移动端浏览器Touch事件判断手指滑动方向方法》

    $("body").on("touchstart", function(e) {     e.preventDefault();     startX = e. ...

  2. Html5绘制饼图统计图

    这里要介绍的是一个jQuery插件:jquery.easysector.js Html5提供了强大的绘图API,让我们能够使用javascript轻松绘制各种图形.本文将主要讲解使用HTML5绘制饼图 ...

  3. iOS开发-UI 从入门到精通(五)

    近日在做项目的时候,为了快捷适配屏幕采用了Storyboard,添加约束以后运行后发现一个问题(下面将以普通案例展示该问题);在4.7 甚至更大的屏幕下是没有问题的,如下图(4.7屏幕): 但是放到更 ...

  4. Linux0.11内核--fork进程分析

    [版权所有,转载请注明出处.出处:http://www.cnblogs.com/joey-hua/p/5597818.html ] 据说安卓应用里通过fork子进程的方式可以防止应用被杀,大概原理就是 ...

  5. iOS 疑难杂症 — — 在 Storyboard 里 Add Size Class Customization 后再从代码里无法修改的问题

    前言 公司的产品同时适配 iPhone 和 iPad ,并坚持用 Storyboard 来做适配,今天又踩一个坑(以前遇到过)还以为是 XCode 的鬼毛病. 声明  欢迎转载,但请保留文章原始出处: ...

  6. Redis 5种数据结构使用及注意事项

    1优缺点 非常非常的快,有测评说比Memcached还快(当大家都是单CPU的时候),而且是无短板的快,读写都一般的快,所有API都差不多快,也没有MySQL Cluster.MongoDB那样更新同 ...

  7. jQuery对表单的操作

    表单应用 一个表单有3个基本组成部分: 表单标签:包含处理表单数据所用的服务器端程序URL以及数据提交到服务器的方法 表单域:包含文本框.密码框.隐藏域.多行文本框.复选框.单选框.下拉选择框和文件上 ...

  8. Linux下解压超过4G的zip文件

    从Windows平台通过FTP上传一个大小约为6G的zip文件到Linux系统(Oracle Linux Server release 5.7)上,解压过程中出现如下错误: 1: [root@gsp ...

  9. ORACLE Linux以及 Unbreakable Enterprise Kernel

    Oracle Linux,全称为Oracle Enterprise Linux,简称OEL,Linux发行版本之一.Oracle公司在2006年初发布第一个版本,以对Oracle软件和硬件支持较好见长 ...

  10. MongoDB学习笔记~MongoDBRepository仓储的实现

    回到目录 仓储大叔,只要是持久化的东西,都要把它和仓储撤上关系,为啥,为的是开发人员在使用时统一,高可用及方便在各种方式之间实现动态的切换,如ef与redis和mongoDB的切换,你完成可以通过IR ...