使用anchor控件
设计器
设计时,添加anchor控件到页面,类似于添加popup控件。当添加anchor到页面时,可以选择已有的服务器段控件的ID,或者写下其它任何元素的ID,并选择希望掌控的客户端事件。如果只是想重新打开popup,不必做其它的任何事情。只需要确保popup窗口控件会被安放在输出页面(必须为可见)。如果当页面被载入时,不想打开popup,那么只要把AutoShow 设置为false ,popup就会在其它指定的事件发生后才打开。
也可以通过PopupWinAnchor来改变popup控件上的文本。把anchor控件的ChangeTexts属性设置为true就可以做到这点。如果选择了这个,当客户端事件发生时,anchor控件就会把popup的标题改为NewTitle,消息改为NewMessage,可选的新浏览器窗口中的文本改为NewText。
代码
下面的例子展示了怎么用PopupWinAnchor控件来重新打开曾经被关闭的popup控件:
Click here to reopen popup ! // 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; |
在运行时间创建控件
以前在运行时间创建控件有一些问题。这些问题在最近的版本中得到了修正,这里有一个在运行时间用PopupWinAnchor控件创建PopupWindow的例子。下面的代码会创建一个弹出窗口,当用户点击spanReopen元素的时候就会显示(用JavaScript)。(这个例子假设在页面上已经有一个spanReopen元素)
// Create popup window and popup win anchor control (in Page_Load) PopupWin popupWin=new PopupWin(); PopupWinAnchor popupAnchor=new PopupWinAnchor(); // Add controls to page placeHolder.Controls.Add(popupAnchor); placeHolder.Controls.Add(popupWin); // Set anchor properties popupAnchor.PopupToShow=popupWin.ClientID; popupAnchor.LinkedControl="spanReopen"; popupAnchor.HandledEvent="onclick"; // Set popup win properties popupWin.ActionType=EeekSoft.Web.PopupAction.MessageWindow; popupWin.Title="This is popup"; popupWin.Message="Message displayed in popup"; // Show popup popupWin.Visible=true; popupWin.AutoShow=false; |
谁可以用它
该控件可以用来提醒用户一些重要的信息。比如,在网页邮件客户端中,你可能会提醒用户注意新消息。在那些用户可以进行系统内部交流的应用程序中,你可以用这个控件来提醒用户,有人想和他交谈。该控件的有点在于,它不需要网页上的固定空间但是确足够醒目,所以用户会注意到它。另一个使用它的方式是,在其中展示一些广告信息,从而避免使用Flash动态图象。(参考CodeProject 标语的在线演示)。
Anchor控件让使用popup控件更快,并且减少了页面载入时间。例如,可以用popup控件在窗体中显示快速帮助,就像在这个例子中一样。当文本框收到focus事件的时候就会显示快速帮助。另一个用它来显示快速帮助的方法是,在每一个文本后都添加按钮,这样当用户点击按钮时,popup就会被显示。