`
water84222
  • 浏览: 368125 次
  • 性别: Icon_minigender_1
  • 来自: 大连
社区版块
存档分类
最新评论

ASP.NET中实现MSN通知消息功能 选择自 qdzx2008 的 Blog

阅读更多
 

现在有大量的第三方控件存在,这些控件包括了开发的各个方面,但对于开发人员而言选择一个合适的控件却很难,所以今天我们要推荐的是一个可以实现类似MSN弹出通知消息功能的控件:
  下载控件:PopupWin

  使用范例

  MSN由个很好的功能,就是每当你的MSN好友上线时,MSN会自动在窗体托盘的右下角由下往上弹出消息框来通知你,这个功能十分实用,比如在论坛里,当有新回复你的帖子时,系统会自动弹出消息提示框,又或者在一个电子政务的系统里,当收到新的邮件或者工作单时,可以使系统弹出消息框提示等等。那么,在ASP.NET构建的Web应用中,如何实现这样的功能呢?在本文中,向读者推荐一个可以实现类似MSN的通知消息窗口效果的.NET控件。

  首先让我们来看下该控件实现后的样子,如下图:

可以看到,这个控件可以在各类型的浏览器中使用(IE,MOZILLA,NETSCAPE,OPERA),而且我们还可以自定义颜色,还可以进行拖拉,如下图:

  下面我介绍这个控件的一些使用方法。

  首先,在该控件中,有两种事件可以被激发:Linkcliked事件(当消息框内的连接被点击时触发)和Popupclosed事件(当消息框窗口被关闭时触发)。控件有三种方式对这些事件进行处理,而actiontype属性的取值,则决定了这三种方式:

  1)messagewindow(默认):默认的弹出窗口方式,将以设置好的Title属性和Text属性为标题和窗口内的文字说明。

  2)openlink:此时,控件允许当点击窗口内的文字链接时,将以打开新窗口的方式打开该链接。

  3)raiseevenst:当选择该属性时,控件将会在服务端处理linkcliked事件和popupclosed事件。

  在使用该控件时是十分方便的,只需要在visual studio .net 中,使用add/remove toolbox功能,选择该控件的dll,之后,该控件就会出现在工具箱中,就可以拖拉的方式放到网页中去应用。

  单击该控件,在其设计器中,会发现有丰富的属性(详细的属性,事件说明请参考该控件的文档)。在设计器中的"操作"分类栏中,可以指定控件如何处理当用户关闭窗口和点击窗口内的文字时打开的新链接;在"文字"和"设计"分类栏中,将可以设计弹出消息窗口的字体,颜色,布局(如设置是从左下角还是从右下角弹出);在"行为"分类栏中,可以设置窗口弹出的弹出速度,是否自动在页面加载后就弹出,以及窗口在弹出多久后会自动关闭,窗口是否可以设置为自由拖拉等等。


下面举例通过代码说明如何使用:

  在popup.aspx中:

<!-- Popup.aspx -->
<%@ Register TagPrefix="cc1" Namespace="EeekSoft.Web"
Assembly="EeekSoft.Web.PopupWin" %>

<cc1:popupwin id="popupWin" runat="server" visible="False"
colorstyle="Blue" width="230px" height="100px" dockmode="BottomLeft"
windowscroll="False" windowsize="300, 200"></cc1:popupwin>

  在code-behind代码中写入:

// Popup.aspx.cs

//设置为默认的消息窗口
popupWin.ActionType=EeekSoft.Web.PopupAction.MessageWindow;

//设置窗口的标题,消息文字
popupWin.Title="This is popup";
popupWin.Message="<i>Message</i> displayed in popup";
popupWin.Text="Text to show in new window..";

//设置颜色风格
popupWin.ColorStyle=EeekSoft.Web.PopupColorStyle.Green;
//设置窗口弹出和消失的时间
popupWin.HideAfter=5000;
popupWin.ShowAfter=500;
popupWin.Visible=true; 

  在该控件的基础上,我们再增强该控件的功能,实现一个叫popupanchor的控件。该控件可以动态检测客户端的事件,比如在一个输入表单中,每当你在文本框填完数据,将鼠标的焦点转移到另外的文本框时,会自动弹出消息提示框。而且,使用该控件,还可以动态更改原先弹出窗口的标题和文字。Popipanchor控件是配合popupwin控件使用的,比如,想重新打开已经弹出过的窗口框,可以这样设置,添加一个popipanchor控件,设置popuptoshow属性,指明要控制的是哪一个弹出消息框的窗口,之后并可以设置相关的handledevent属性,指明要击发的是什么样的事件(比如onfocus,ondblick)等,如下图

 
 
 用下面的的代码,可以重新设置已经弹出过的消息窗口的标题文字,并让其再次弹出:
<!-- Anchor.aspx -->
<%@ Register TagPrefix="cc1" Namespace="EeekSoft.Web" Assembly="EeekSoft.Web.PopupWin" %>
<cc1:popupwin id="popupWin" runat="server" visible="False"
   colorstyle="Blue" width="230px" height="100px" dockmode="BottomLeft"
   windowscroll="False" windowsize="300, 200">
</cc1:popupwin>
<cc1:popupwinanchor id="popupAnchor" runat="server" changetexts="False"></cc1:popupwinanchor>
<span id="spanreopen"> Click here to reopen popup !</span>
  code-behind文件中的代码如下:
// Anchor.aspx.cs
// Handle onclick event ..
//设置其响应的事件为onclick
popupAnchor.HandledEvent="onclick";
popupAnchor.LinkedControl="spanReopen";
popupAnchor.PopupToShow="popupWin";
popupWin.Visible=true;
popupWin.AutoShow=true;
  则上面的代码可以实现,当点击spanreopen区域时,可以使已经弹出的消息窗口再次弹出。
  DEMO例子里演示了如何使用popupanchor控件,如下图,当点击第一个文本框时,弹出窗口,提示要输入文字;当输入完第一个文本框的内容时,将鼠标移动到第二个文本框时,又会弹出第二个窗口:

 

 

  在本文提供的下载中,提供了该控件的完整代码,使用控件的范例工程,和关于该控件的详细事件方法说明的CHM文件,可以在vs.net 2003上运行通过。

<!---->
 
分享到:
评论

相关推荐

    Toxi / Oxy Pro 便携式气体检测仪参考手册 使用说明书

    Toxi Oxy Pro 便携式气体检测仪参考手册 使用说明书

    科傻模拟网优化操作-教程书

    官方的的说明书资料,部分视频说明在这里: https://www.bilibili.com/video/BV1Fz4y1d7rn/?spm_id_from=333.999.0.0&vd_source=13dc65dbb4ac9127d9af36e7b281220e

    node-v8.14.0-x64.msi

    Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。

    2023商业银行数据资产体系白皮书,主要介绍了“三位一体”数据资产体系的构成与工作机制,以及商业银行数据资产体系建设实践

    2023商业银行数据资产体系白皮书 目录 第 1 章 数据资产化与数据要素市场化相辅相成,相互促进 第 2 章 数据资产化是企业数据治理向上演进的必经之路 第 3 章 数据资产体系发展概述 第 4 章 “三位一体”数据资产体系的构思 4.1“三位一体”数据资产体系的构成与工作机制 数据资产管理 数据资产运营 数据资产评价 数据资产体系工作机制 4.2“三位一体”数据资产体系的相互作用关系 4.3“三位一体”数据资产体系的构建 4.4“三位一体”数据资产体系的优势 第 5 章 商业银行数据资产体系建设实践 5.1商业银行开展数据资产体系建设的背景和目标 5.2商业银行数据资产体系建设的工作步骤 5.3上海银行数据资产体系建设实践的主要成果 第 6 章 数据要素流通市场赋能企业数据资产化 6.1全国多层次数据要素市场的建设 6.2上海数据交易所赋能企业数据资产化 6.3数据要素流通交易市场赋能企业数据资产化的展望 第 7 章 未来演进与展望

    基于微信小程序的助农扶贫小程序

    大学生毕业设计、大学生课程设计作业

    车辆销售数据Python爬取并做数据分析,项目源码注解清晰一看就懂.zip

    车辆销售数据Python爬取并做数据分析,项目源码注解清晰一看就懂

    毕业设计:基于SSM的mysql-学生社团管理系统(源码 + 数据库 + 说明文档)

    毕业设计:基于SSM的mysql_学生社团管理系统(源码 + 数据库 + 说明文档) 第2章 主要技术和工具介绍 1 2.1 JSP语言 1 2.2 MySQL数据库 1 2.3 jsp技术 2 2.4ssm简介 3 第3章 系统分析 1 3.1可行性分析 1 3.1.1经济可行性 1 3.1.2技术可行性 1 3.1.3操作可行性 1 3.2需求分析 1 3.3业务流程分析 2 3.4数据流程分析 3 第4章 系统设计 5 4.1系统结构设计 5 4.2功能模块设计 5 4.3数据库设计 6 4.3.1数据库设计概述 6 4.3.1概念设计 6 4.3.2表设计 7 第5章 系统实现 15 5.1基本任务 15 5.2登录模块的实现 15 5.2.1首页实现 15 5.2.2管理员后台登录 16 5.3用户模块的实现 19 5.3.1注册模块及登录的实现 19 5.2.2入团模块的实现 21 5.2.3场地预约模块的实现 22 5.4管理员模块的实现 24 5.4.1系统用户管理模块的实现 24 5.4.2活动公告管理模块的实现 26 5.5社团模块的实现 28 5.5.1活动信息

    大健康零售业务O2O数字化战略规划方案.pptx

    大健康零售业务O2O数字化战略规划方案.pptx

    数据中台项目主要岗位及其职责和任务

    数据中台项目主要岗位及其职责和任务

    node-v8.0.0-linux-armv7l.tar.gz

    Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。

    流程制造行业数字化智能工厂总体规划建设方案.pptx

    流程制造行业数字化智能工厂总体规划建设方案.pptx

    c语言学生成绩管理系统源码.zip

    c语言学生成绩管理系统源码.zip

    DEV-C++-5.11下载链接

    DEV-C++-5.11下载链接

    电器租赁小程序.zip

    电器租赁小程序.zip

    学生成绩管理系统 数据结构与算法课程设计 C++.zip

    学生成绩管理系统 数据结构与算法课程设计 C++

    知乎小程序算法.zip

    知乎小程序算法.zip

    基于R语言SIR传染病传播的SIR模型,很全,可直接应用仿真模拟.rar

    基于R语言SIR传染病传播的SIR模型,很全,可直接应用仿真模拟.rar

    node-v6.13.0.tar.xz

    Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。

    node-v10.11.0-darwin-x64.tar.gz

    Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。

    项目申报系统(Struts2+Spring+Hibernate+Jsp+Mysql5).zip

    广东工业大学工程管理

Global site tag (gtag.js) - Google Analytics