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属性的内容.
(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;
与加入一个弹出窗口控件相似,设计时咱们能够把锚定控件加入到页面中,从选择一个已经存在的服务器端控件或填入其余元素的ID到 LinkedControl属性, 而后选择想绑定的客户端事件HandledEvent. 若是只是想再打开弹出窗口,不需劳神,只要让弹出控件在弹出窗口中可见便可. 若是不想在页面加载时就显示弹出控件, 得把AutoShow置为false,这样只有在发生绑定的特定事件时才会显示.要改变文字锚定弹出控件的文字,需把属性ChangeTexts设为 true.
代码:
下面的代码显示了如何锚定弹出控件来打开曾关闭的弹出控件
<!-- 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>
// 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; |
<%@ Register TagPrefix="cc1" Namespace="EeekSoft.Web"
Assembly="EeekSoft.Web.PopupWin" %>
之前的版本在运行时动态建立此控件有bug,最新版本已经修正了,下面是运行时建立PopupWindow和PopupWinAnchor 控件的示例. 当用户点击spanReopen元素后,用JavaScript会建立并显示一个弹出窗口.(这个示例假定页面上有个spanReopen的元素)