技术开发 频道

ASP.NET 仿MSN Messenger Alert的弹出窗口控件


【IT168技术文档】

  ASP.NET 弹出窗口控件, 是MSN Messenger 提醒(alert)的网页版,通过定义颜色风格可以修改图形的外观.支持拖放操作.一个很重要的特性是支持绝大多数浏览器.在最新版本的Mozilla, IE和Opera下测试通过,在不支持filter的浏览器中UI会有些差异.控件的很多属性可直接使用HTML代码,以实现图片等丰富的表现形式.

  ASP.NET 弹出窗口控件PopupWindow, 可用于通知用户重要的信息,比如在web email客户端通知用户新消息/信件. 当用户在系统内交流时需要通知他有人找他聊天. 用此控件的好处是不占网页的空间又能醒目得引起用户的注意. 另外可用于显示广告信息.

  锚定弹出控件PopupWinAnchor,可以让弹出窗口控件更快,页面加载更少.比如我们可以用以实现表单填写的即时帮助.当textbox收到输入焦点时即显示动态帮助. 另外,可以用来在每个textbox后加一个button, 当用户点击button时显示弹出窗口.

  控件有两个事件: 点击弹出窗口上链接时的事件LinkClicked, 点击右上角关闭按钮时的PopupClosed. 根据ActionType属性(如下)的不同,有三种处理事件的方式:
  (1)MessageWindow (默认) - 控件会打开新的浏览器窗口,其中显示Text属性的内容.
  (2)OpenLink - 控件可以执行JavaScript操作或打开Link属性中的新页面. 生成的<A>标签的target属性也是可以改变的. 生成的代码是这个样子的: <a href="[Link]" target="[LinkTarget]">Link..</a>, 因此得当心Link属性中不要使用引号. LinkTarget非空时才会加上Target属性.
  (3)RaiseEvents - 控件触发服务器端的 LinkClicked 或 PopupClosed 事件

  在页面中使用此控件非常简单. VS.NET中,只需要在工具箱中用"添加删除项"来选中控件的dll文件,然后从工具箱中把该控件拖放页面中.

  设计器:
  控件有良好的设计时支持,我们可以更改所有属性,Action类别中,我们可以定义当用户点击链接和关闭窗口时控件的行为, Text和Design类别中,我们可以修改控件的外表和显示的消息.在Behavior中,我们可以改变时间间隔(何时显示/隐藏弹出窗口), AutoShow属性指控件是否在页面加载后即显示,DragDrop属性为真时,用户可以在页面中拖放控件的位置. 如果我们把ActionType 设为 MessageWindow,Window类别可以用来改变显示窗口的属性. Layout类别中的属性可以用来控制位置(从窗口左下角或右下角的位移).

  代码
  下面的代码显示了如何改变一些属性并显示控件.
<!-- 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>
// Anchor.aspx.cs // Handle onclick event .. popupAnchor.HandledEvent="onclick"; // .. of spanReopen element popupAnchor.LinkedControl="spanReopen"; // Show popupWin when event occurs popupAnchor.PopupToShow="popupWin"; // Popup win is visible .. popupWin.Visible=true; // .. and will be displayed when page is loaded popupWin.AutoShow=true;
0
相关文章