将自动通知窗体集成到类中
在IE的右下角自动弹出一个通知窗口,几秒后慢慢消失,这个现在是很常见的js代码实现的功能,但是,我希望能够把这个功能集成起来,使用时尽量简化,所以尝试作了一个类,专门来完成这个功能。
首先,分析弹出窗体的功能。因为这是js的功能,而且js代码是可见的,所以,如果有别人实现的好点,可以直接就拿来使用了。我碰到一个页面的通知功能做的还挺不错的,就分析了下代码,发现主要有三部分组成。
1、javascript代码部分。主要是一些函数和一条调用语句,放在body的前面。
2、弹出的窗体。
3、样式代码
自己写了个测试页面,测试了这些功能,发现都没有问题。支持弹出,自动隐藏,还支持拖放窗口,总之比较强。
第二步,就是要考虑怎样集成起来,简化使用了。用js文件固然可以把js代码分开写,但其它的东西使用起来还是麻烦。
考虑到C#支持向客户端插入js代码快,http://jetz.cnblogs.com/archive/2005/10/01/247880.html,用RegisterClientScriptBlock()就可以。于是测试了一下,发现它是将插入内容原封不动的插入到页面代码中,所以,它不仅可以插js代码,其它的两种代码也可以。
再测试了一下,样式代码放到body内,发现没有问题。
于是思路就定了,制作一个类NoteWindow,有一个静态的(最近特别喜欢用这个,特别是在一些辅助性的类中)函数ShowNote,直接就将这个代码就插入了。同时,传递一些参数,比如文字,url,背景图,是否在新窗口中显示。
唯一的难度,就是如何将整段的代码写到程序中,http://jetz.cnblogs.com/archive/2005/10/01/247966.html
最后,调用就很简单了
NoteWindow.ShowNote(this,"好消息,下雨了!","http://www.sina.com.cn","/img/noteback.gif",false);