如何把Popup特性从宝玉的论坛代码中拆分出来呢?
编写者:郑昀
时间:20050128
我们要在后台向IE前台发送请求,让浏览器弹出Popup一个,来达到提示用户的效果,而不是做一个定时器不断地去后台取数据提示论坛新帖子的方式。
这样,从CnForums1[1].2源代码中取出以下文件:
l PopupManager.cs(去除对ASPnetForum的引用代码);
l SkinnedForumWebControl.cs(去除对ASPnetForum的引用代码);
l PopupManager.js;
l Skins目录下的PopupManager.ascx;
l css目录下的popupManager.css;
l images目录下的所有图片;
把这些文件加入你的工程中。
在你的default.aspx页面中加入:
rel='stylesheet' type='text/css' href='css/popupManager.css'> <script src="Scripts/PopupManager.js" type="text/javascript"></script>
|
和
|
然后,在default.aspx.cs中加入如下代码:
protected Linktone.ToneReports.Components.PopupManager Popupmanager1;
/// /// 通过这个函数,设定超越IE窗口的Popup窗口的诸多属性 /// /// /// 发送体 /// /// Popup信息的完整信息 /// Popup信息的简短提示 /// private void Popup( string sTitle, string sInfo) { Popupmanager1.Visible = true; //编辑须执行的脚本语言 string javaScript = @"<script language = javascript>try{var popupManager = new PopupManager();" + "var p = popupManager.AddPopup('popupWin', '" + sTitle + "', 'images/popup_icon_Post.gif', '" + sInfo + "', ShowPost);p.PostID = '1';p.URL = nodeURL.text;}catch(e){}" + "function ShowPost(popup){}</script>";
//执行 this.Page.RegisterStartupScript("",javaScript); }
|
之后你就可以在aspx.cs中通过调用以下代码让浏览器弹出对话框了:
/// 这是一个只有IE5.5才支持的特性,超越IE自身窗体的弹出窗口 Popup("歌手查询完毕", "敬请察看结果:彩铃数据分析系统"); |
出来的效果如下所示:
点击页面上的按钮,将弹出一个窗口,只弹出一遍: