[ASP.NET]如何把Popup特性从宝玉的论坛代码中拆分出来呢?

类别:Asp 点击:0 评论:0 推荐:
如何把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页面中加入:

<link rel='stylesheet' type='text/css' href='css/popupManager.css'>

<script src="Scripts/PopupManager.js" type="text/javascript"></script>

 

<exp:PopupManager runat="server" ID="Popupmanager1" Visible="False" EnableViewState="False" />

 

 

然后,在default.aspx.cs中加入如下代码:

protected Linktone.ToneReports.Components.PopupManager Popupmanager1;

 

/// <summary>

         /// 通过这个函数,设定超越IE窗口的Popup窗口的诸多属性

         /// </summary>

         /// <param name="sender">

         /// 发送体

         /// </param>

         /// <param name="sTitle">Popup信息的完整信息</param>

         /// <param name="sInfo">Popup信息的简短提示</param>

         ///

         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("歌手查询完毕", "敬请察看结果:彩铃数据分析系统");

 

出来的效果如下所示:

点击页面上的按钮,将弹出一个窗口,只弹出一遍:


本文地址:http://com.8s8s.com/it/it7461.htm