随笔-312  评论-11907  文章-2  trackbacks-224

前几天有朋友说希望能用ASP.NET AJAX实现类似OWA或Messenger样式的信息提示窗口,当系统有新消息的时候,可以在屏幕右下角弹出一个提示面板,其中放置自定义的消息。就像下面图示的这样:

今天上午抽时间作了一个,以ASP.NET AJAX Control Toolkit Extender的形式发布。限于HTTP协议的局限性,只能采取客户端pull的方法,每隔一段时间查询一下某个Web Service,如果有新消息,则在客户端以动画形式显示出来。如下面两张图,左边的刚刚显示一半,右边已经完整显示了出来(点击查看大图):

      

 

PopupNotificationExtender功能介绍

  1. 提示窗口以动画形式出现/消失
  2. 可指定提示窗口在屏幕中的位置(左上、左下、右上、右下)
  3. 可指定提示窗口相对于四种位置(左上、左下、右上、右下)的偏移量
  4. 提示窗口的内容、样式完全可自定义
  5. 窗口缩放之后提示窗口将自动调整位置,保持相对位置不变
  6. 可以定制提示窗口显示和消失时动画的时间长度
  7. 可以定制提示窗口保持显示的时间
  8. 鼠标悬停于提示窗口上时,该窗口将永远不会消失
  9. 可以指定某个Web Service中的某个Web Method,并指定两次查询的时间间隔,用来取得新消息。
  10. 如果查询得到新消息,则提示窗口将自动出现

 

PopupNotificationExtender下载

下载、使用本软件之前,请仔细阅读如下Microsoft Permissive License (Ms-PL)版权协议。如果你使用本软件,说明你无条件接受该协议中的条款。如果你不接受该协议,请不要使用本软件。

Microsoft Permissive License (Ms-PL)

This license governs use of the accompanying software. If you use the software, you accept this license. If you do not accept the license, do not use the software.

1. Definitions

The terms “reproduce,” “reproduction” and “distribution” have the same meaning here as under U.S. copyright law.

“You” means the licensee of the software.

“Licensed patents” means any Microsoft patent claims which read directly on the software as distributed by Microsoft under this license.

2. Grant of Rights

(A) Copyright Grant- Subject to the terms of this license, including the license conditions and limitations in section 3, Microsoft grants you a non-exclusive, worldwide, royalty-free copyright license to reproduce the software, prepare derivative works of the software and distribute the software or any derivative works that you create.

(B) Patent Grant- Subject to the terms of this license, including the license conditions and limitations in section 3, Microsoft grants you a non-exclusive, worldwide, royalty-free patent license under licensed patents to make, have made, use, practice, sell, and offer for sale, and/or otherwise dispose of the software or derivative works of the software.

3. Conditions and Limitations

(A) No Trademark License- This license does not grant you any rights to use Microsoft’s name, logo, or trademarks.

(B) If you begin patent litigation against Microsoft over patents that you think may apply to the software (including a cross-claim or counterclaim in a lawsuit), your license to the software ends automatically.

(C) If you distribute copies of the software or derivative works, you must retain all copyright, patent, trademark, and attribution notices that are present in the software.

(D) If you distribute the software or derivative works in source code form you may do so only under this license (i.e., you must include a complete copy of this license with your distribution), and if you distribute the software or derivative works in compiled or object code form you may only do so under a license that complies with this license.

(E) The software is licensed “as-is.” You bear the risk of using it. Microsoft gives no express warranties, guarantees or conditions. You may have additional consumer rights under your local laws which this license cannot change. To the extent permitted under your local laws, Microsoft excludes the implied warranties of merchantability, fitness for a particular purpose and non-infringement.

  1. 该控件的DLL在这里下载:Dflying.Ajax.PopupNotificationExtender.zip
  2. 示例程序在这里下载:PopupNotificationTest.zip

 

PopupNotificationExtender示例程序

本控件基于ASP.NET AJAX开发,且继承于ASP.NET AJAX Control Toolkit中的AlwaysVisibleControlExtender。所以若要在程序中使用该控件,则必须配置好ASP.NET AJAX并添加好ASP.NET AJAX Control Toolkit程序集的引用(请参考《拥抱变化——从Atlas到ASP.NET AJAX(1):下载安装总览》)。

然后将控件的DLL(Dflying.Ajax.PopupNotificationExtender.zip)解压缩至Web站点的bin目录下,添加好对该DLL的引用。

在需要使用的页面头部添上如下注册代码:

<%@ Register Assembly="Dflying.Ajax.PopupNotificationExtender" Namespace="Dflying.Ajax"
    TagPrefix="dflying" %>

当然,ScriptManager也是必须的:

<asp:ScriptManager ID="ScriptManager1" runat="server" />

然后定义一个Panel,用来表示提示窗口,当然其中布局样式朋友们可以随心所欲地改变:

<asp:Panel ID="thePanel" CssClass="panel" runat="server">
    <div style="border: 1px solid black; height: 98px;">
        <div style="padding: 3px; background-color: Silver;">
            <strong>New Messages:</strong>
        </div>
        <img src="icon.gif" style="float: left; display: block; margin: 3px;" />
        <div id="result" style="padding: 3px; margin-left: 40px;" />
    </div>
</asp:Panel>

注意:该Panel中还包含了一个id为result的HTML <div>标签。注意这个<div>,等会服务器端返回的消息将填充到该<div>中。

该Panel应用的CSS Class为panel,定义如下:(注意不可以定义border、margin、padding三个属性,如果需要,可以在内部标签<div>中使用)

.panel
{
    font-size: 80%;
    background-color: white;
    width: 200px;
    height: 100px;
    overflow: hidden;
}

然后是PopupNotificationExtender控件的代码:

<dflying:PopupNotificationExtender ID="pne" TargetControlID="thePanel" runat="server"
    VerticalSide="Bottom" HorizontalSide="Right" HorizontalOffset="20" VerticalOffset="20"
    ServicePath="NotificationService.asmx" ServiceMethod="GetNotification" QueryServiceInterval="6000"
    ResultLabelID="result" />

其中:

  1. HorizontalSide和VerticalSide指定提示窗口将在页面的右下角弹出。
  2. HorizontalOffset和VerticalOffset指定了弹出窗口离浏览边框的距离。
  3. ServicePath和ServiceMethod指定了服务器端查询新消息用的Web Service以及其中定义的Web Method。
  4. QueryServiceInterval指定了每隔6000毫秒(6秒钟)查询一次服务器,这里仅仅用来演示,通常我们不应该这样频繁地进行查询。
  5. ResultLabelID指定了用来显示服务器端的新消息的客户端HTML元素的id,这里就是上面我们定义的id为result的<div>。

再看看服务器端Web Service的代码:

[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
[Microsoft.Web.Script.Services.ScriptService()]
public class NotificationService  : System.Web.Services.WebService {
 
    private static int m_count = 0;
    
    [WebMethod]
    public string GetNotification()
    {
        if (checkNewMessage())
        {
            // return the HTML message content.
            return string.Format("<a href=\"#\">You've received a new message #{0}.</a>", m_count++);
        }
        else
        {
            // if there's no new meesage, just return an empty string.
            return string.Empty;
        }
    }
 
    private bool checkNewMessage()
    {
        // TODO: whatever you want to check if there's a message.
        return true;
    }
}

很简单不多说了,GetNotification()方法没有任何传入参数,在该方法中,我们可以随便用什么方法看看是否有新的消息需要传递给客户端。如果有的话,那么返回代表该消息的HTML字符串,如果没有,则返回空字符串即可。之后客户端如果收到的是一个非空字符串,则将弹出窗口显示出来,如果受到空字符串,那么不会显示任何东西。

程序运行界面就和本文开始的两幅图像一样,你也可以下载示例程序(PopupNotificationTest.zip)亲自体验一下。

 

PopupNotificationExtender属性列表

  1. TargetControlID:该扩展器目标Panel控件ID,即将要作为提示面板的Panel控件的ID。
  2. ResizeEffectDuration:提示面板弹出/消失动画的时间长度,单位为秒,默认0.3秒。
  3. ShowNotificationDuration:提示面板停留显示在页面上的时间长度,单位为秒,默认为3秒。
  4. ResultLabelID:从服务器端取得新消息之后,将填入到提示面板中的id为该值的客户端HTML元素中。
  5. ServicePath:服务器段取得消息的Web Service地址。
  6. ServiceMethod:服务器段取得消息的Web Method名称。
  7. QueryServiceInterval:两次查询服务器的时间间隔,单位为毫秒,默认值为60000。
  8. HorizontalOffset:提示面板距离浏览器左右边框的水平边距,单位为像素(px)。默认值为0。
  9. HorizontalSide:提示面板的水平停靠方向,Left(默认值)代表靠左边停靠,Right代表靠右边停靠。
  10. VerticalOffset:提示面板距离浏览器上下边框的垂直边距,单位为像素(px)。默认值为0。
  11. VerticalSide:提示面板的垂直停靠方向,Top(默认值)代表靠上边停靠,Bottom代表靠下边停靠。
  12. ScrollEffectDuration:当用户滚动浏览器滚动条时,调整提示面板位置的时间间隔。单位为秒。默认值为0.1。

 

其他

  1. 是否有必要开放源代码?
  2. 是否有必要写篇文章讲一下控件开发过程、原理?
  3. 如果有Bug,希望朋友们提出
  4. 如果有新的功能建议,也希望朋友们提出。
posted on 2006-11-29 16:33 Dflying Chen 阅读(9165) 评论(77)  编辑 收藏 所属分类: ASP.NET AJAX (Atlas)

评论:
#1楼  2006-11-29 16:47 | anikin      
不错,希望提供源码
  回复  引用  查看    
#2楼  2006-11-29 17:02 | jueban [未注册用户]
是否有必要写篇文章讲一下控件开发过程、原理?

真的很需要!
  回复  引用    
#3楼  2006-11-29 17:10 | Jackxing Lin[匿名] [未注册用户]
这么好的东西,开放源码让大家学习啊
  回复  引用    
#4楼  2006-11-29 17:10 | 数据绑定者      
@Dflying Chen

支持。

讲一下原理配合源码,带带路。
  回复  引用  查看    
#5楼  2006-11-29 17:37 | 阿杰[匿名] [未注册用户]
下载后,做测试的时候,有一个问题,尽管WebService返回值为空,但客户端还是出现了消息提示。
  回复  引用    
#6楼  2006-11-29 17:47 | Terry Deng      
还是开放源码吧,大家可以一起改进
  回复  引用  查看    
#7楼 [楼主] 2006-11-29 17:49 | Dflying Chen      
@阿杰[匿名]
updated. thank you for this info:)
slow network connection here, reply all this evening.
  回复  引用  查看    
#8楼  2006-11-29 18:35 | 阿一      
不错,还没下,等下试试看!
能否在服务器端弹出!
  回复  引用  查看    
#9楼  2006-11-29 18:54 | 阿一      
噢,酷啊!
希望能开源,学习学习!
  回复  引用  查看    
#10楼  2006-11-29 21:15 | 木野狐      
:)
  回复  引用  查看    
#11楼 [楼主] 2006-11-29 21:25 | Dflying Chen      
@anikin
源代码会随着讲解的文章发布
  回复  引用  查看    
#12楼 [楼主] 2006-11-29 21:26 | Dflying Chen      
@jueban
恩,可以写一下,不过似乎将会比较长……
  回复  引用  查看    
#13楼 [楼主] 2006-11-29 21:26 | Dflying Chen      
@Jackxing Lin[匿名]
明天提供吧,今晚再修改一下
  回复  引用  查看    
#14楼 [楼主] 2006-11-29 21:27 | Dflying Chen      
@阿一
这个是客户端的阿,和服务器端没有关系的
  回复  引用  查看    
#15楼 [楼主] 2006-11-29 21:27 | Dflying Chen      
@阿一
@木野狐
:)
  回复  引用  查看    
#16楼 [楼主] 2006-11-29 21:27 | Dflying Chen      
@Terry Deng
呵呵,如果大家能一起改进就好了,不要拿去做坏事就行,呵呵
  回复  引用  查看    
#17楼 [楼主] 2006-11-29 21:28 | Dflying Chen      
忘了说一句:谢谢大家的支持!
  回复  引用  查看    
#18楼  2006-11-29 21:31 | zhh007's Bolg      
老兄,思路才是最重要的!
  回复  引用  查看    
#19楼 [楼主] 2006-11-29 21:33 | Dflying Chen      
@zhh007's Bolg
思路确实很重要,对我而言更是如此。所以需要一段时间整理,谢谢
  回复  引用  查看    
#20楼  2006-11-29 22:26 | neuhawk      
codeproject上有popup 控件.当然,没有用到asp ajax
  回复  引用  查看    
#21楼 [楼主] 2006-11-29 22:37 | Dflying Chen      
@neuhawk
这个基于“标准官方”框架开发,可能更加容易接受一些:)
  回复  引用  查看    
#22楼  2006-11-29 23:35 | neuhawk      
是啊,你可以参考一下codeproject的功能,也不错的.
  回复  引用  查看    
#23楼 [楼主] 2006-11-29 23:46 | Dflying Chen      
@neuhawk
恩,有空的时候一定看一下!谢谢
  回复  引用  查看    
#24楼  2006-11-30 00:15 | Cat Chen      
以前ASP.NET 1.0 Beta时就见过一个,能够打开一个新窗口,然后让那个新窗口在屏幕右下角缓缓展开并显示信息。这样即使当前窗口缩小了,甚至最小化了,notification也能看到。

不过这招现在可能不灵咯,因为浏览器拦截弹出很厉害,IE为了反钓鱼也在所有窗口显示地址栏,这可能会让上述notification窗口变得不美观。
  回复  引用  查看    
#25楼 [楼主] 2006-11-30 00:18 | Dflying Chen      
@Cat Chen
我只是用IE6看了一下,还好啊
  回复  引用  查看    
#26楼 [楼主] 2006-11-30 00:19 | Dflying Chen      
@Cat Chen
哦,这个不是一个新窗口,就是一个Panel而已,实际上就是个<div>,修改的也仅仅是style属性而已,浏览器应该不会在意吧。
  回复  引用  查看    
#27楼  2006-11-30 08:46 | keyler [未注册用户]
我觉得可以做个关闭‘按钮,这样会更好

还有就是我觉得现在的ajax toolkit 控件都不支持客户端调用的,只是服务器控件而已,所以如果可以的话,希望在javascript也能使用你的控件。

现在如果要在客户端使用,只能把所有的javascript都引用进去才可以了。
  回复  引用    
#28楼  2006-11-30 08:56 | buliangdedeng[匿名] [未注册用户]
支持
  回复  引用    
#29楼 [楼主] 2006-11-30 09:28 | Dflying Chen      
@keyler
恩,我加上一个关闭按钮!
所有的ajax toolkit 控件都可以在客户端调用阿?为什么不能呢?
  回复  引用  查看    
#30楼 [楼主] 2006-11-30 09:28 | Dflying Chen      
@buliangdedeng[匿名]
谢谢:)
  回复  引用  查看    
#31楼  2006-11-30 09:39 | Leem [未注册用户]
最好能把开发过程做成视频结合文字说明
  回复  引用    
#32楼  2006-11-30 09:42 | 数据绑定者      
嗯,这种的不会被拦截,因为他就是个Div ,而不是一个新的窗口,呵呵

支持@Dflying Chen

  回复  引用  查看    
#33楼 [楼主] 2006-11-30 09:44 | Dflying Chen      
@Leem
大哥,我家电脑是在力不从心,好几年前的了,视频录不起啊。我一直想买个电脑,可是我也不懂,不知道什么样的好……
  回复  引用  查看    
#34楼 [楼主] 2006-11-30 09:45 | Dflying Chen      
@数据绑定者
恩,是啊,我觉得也不应该拦截么:)
  回复  引用  查看    
#35楼  2006-11-30 10:16 | 烈域      
好,顶
  回复  引用  查看    
#36楼  2006-11-30 10:20 | Cat Chen      
@Dflying Chen
可以尝试先用弹出窗口,创建失败再用div。窗口的好处是notification肯定能被看到,既是当前页面已经最小化。

至于div的拦截,mathon好像很强,而且那个逻辑也说不清楚,反正就是让人很faint。
  回复  引用  查看    
#37楼 [楼主] 2006-11-30 10:23 | Dflying Chen      
@Cat Chen
弹出窗口是不是就要另一个页面了?
  回复  引用  查看    
#38楼 [楼主] 2006-11-30 10:23 | Dflying Chen      
@烈域
谢谢
  回复  引用  查看    
#39楼  2006-11-30 12:48 | bisou [未注册用户]
Dflying Chen 你的这个控件是定时获取服务器的新数据 你有没有在实际应用时候用?我做过类似的应用 在实际环境中 定时调用webservice里面的方法 当比较费时的时候 比如网络延迟 就不能点击这个页面的链接换页了 就是说必须等到这个方法调用完毕后才能换页 不知道我阐述清楚没有 我也给你发过email 可你没有回复
  回复  引用    
#40楼 [楼主] 2006-11-30 14:14 | Dflying Chen      
@bisou
我记得当时给你回复过了啊,没受到么?
IE中可能会出现这种问题,Firefox是没有问题的。
  回复  引用  查看    
#41楼  2006-11-30 16:47 | hoodlum [未注册用户]
好东东!
不知道一次性有多条消息会怎么样呢?
就是你在某个时刻去读消息的时候。里面已经有多条消息了程序怎么办?
是一次性读来多条呢?
只读一条消息,等下一个周期再去读下一条消息。
或者是如果有多条就连续一条一条的读出来,直道里面没有新消息呢?

  回复  引用    
#42楼 [楼主] 2006-11-30 17:54 | Dflying Chen      
@hoodlum
如果有多个信息的话,那么仅仅是提示面板中的文字将被更新
  回复  引用  查看    
#43楼  2006-11-30 18:19 | Cat Chen      
@Dflying Chen
可以window.open之后直接document.open/write/close吧,不一定要涉及服务器端页面。
  回复  引用  查看    
#44楼 [楼主] 2006-11-30 18:29 | Dflying Chen      
@Cat Chen
哦……这样也好……不过要最小化之后还弹出来……似乎有点牵强阿
  回复  引用  查看    
#45楼  2006-11-30 20:02 | xpengfee[匿名] [未注册用户]
有时间的话能否提供一篇详细介绍控件开发过程的文章视频更好,以便于我辈们学习,谢谢,辛苦! xpengfee@163.com
  回复  引用    
#46楼 [楼主] 2006-11-30 20:37 | Dflying Chen      
@xpengfee[匿名]
恩,一定,等我把这本书写好了应该会空一点的
  回复  引用  查看    
#47楼  2006-12-01 09:10 | bisou [未注册用户]
@Dflying Chen
发到我那个邮箱里 hotmail的吗?真的没收到 :-)
这个问题虽然在firefox里面不出现也不行啊 对于一般用户还是用ie的多 有没有办法解决呢?
这个问题困扰我好久 郁闷的要死
  回复  引用    
#48楼  2006-12-01 09:39 | lixlsj[匿名] [未注册用户]
好东西,希望能给我发份源码,共同学习。我的邮箱是:lixlsj521@163.com
谢谢了

  回复  引用    
#49楼 [楼主] 2006-12-01 13:33 | Dflying Chen      
@bisou
我确认已经发了
升级到IE7吧,看看问题有没有解决……呵呵
  回复  引用  查看    
#50楼 [楼主] 2006-12-01 13:33 | Dflying Chen      
@lixlsj[匿名]
我会尽快写出教程,然后发布源代码的,谢谢
  回复  引用  查看    
#51楼  2006-12-02 00:42 | Terry Deng      
我用另一种思路使用asp.net ajax实现这个功能的源码,欢迎指教,附源码.

  回复  引用  查看    
#52楼 [楼主] 2006-12-02 10:42 | Dflying Chen      
@Terry Deng
:)
  回复  引用  查看    
#53楼  2006-12-02 17:28 | bisou [未注册用户]
@Dflying Chen
这个可不是解决方案啊 我们做网站的 怎么能让用户都升级到ie7呢 毕竟ie6是主题啊
  回复  引用    
#54楼 [楼主] 2006-12-02 17:37 | Dflying Chen      
@bisou
是啊,但是还能怎么办呢……我们能控制的事情很少……
  回复  引用  查看    
#55楼  2006-12-15 10:26 | xing      
好东西啊,期待教程....
  回复  引用  查看    
#56楼 [楼主] 2006-12-15 19:23 | Dflying Chen      
@xing
哎呀,你不提醒我都忘了……是应该补上了
  回复  引用  查看    
#57楼 [楼主] 2006-12-22 23:19 | Dflying Chen      
@sharewind
现在源代码已经过时了……还是有空的时候我更新一下吧
  回复  引用  查看    
#58楼  2007-01-09 11:28 | baggio[匿名] [未注册用户]
现在有这个控件的源代码和讲解吗?
  回复  引用    
#59楼  2007-01-10 10:37 | baggio[匿名] [未注册用户]
我已经在BIN目录里添加了这个DLL,对它进行了引用,但是总是不认这个控件,
错误 2 未知的服务器标记“dflying:PopupNotificationExtender”。 F:\WorkBook\AJAXEnabledWebSite1\Default6.aspx 41

错误 1 元素“PopupNotificationExtender”不是已知元素。原因可能是网站中存在编译错误。 F:\WorkBook\AJAXEnabledWebSite1\Default6.aspx 41 11 F:\WorkBook\AJAXEnabledWebSite1\


请教下,谢谢!


  回复  引用    
#60楼  2007-01-22 11:58 | Plain [未注册用户]
英文不错..作品太烂..
  回复  引用    
#61楼  2007-01-22 20:20 | 林思衣 [未注册用户]
运行你例子程序的时候出现下面的错误 ,是什么原因啊?求教!!!

“/”应用程序中的服务器错误。
--------------------------------------------------------------------------------

配置错误
说明: 在处理向该请求提供服务所需的配置文件时出错。请检查下面的特定错误详细信息并适当地修改配置文件。

分析器错误信息: 未能加载文件或程序集“Microsoft.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35”或它的某一个依赖项。系统找不到指定的文件。 (C:\Popup\web.config line 50)

源错误:


行 48: </httpHandlers>
行 49: <httpModules>
行 50: <add name="WebResourceCompression" type="Microsoft.Web.Handlers.WebResourceCompressionModule, Microsoft.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
行 51: <add name="ScriptModule" type="Microsoft.Web.UI.ScriptModule, Microsoft.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
行 52: </httpModules>


源文件: C:\Popup\web.config 行: 50


--------------------------------------------------------------------------------
版本信息: Microsoft .NET Framework 版本:2.0.50727.42; ASP.NET 版本:2.0.50727.42
  回复  引用    
#62楼 [楼主] 2007-01-29 11:23 | Dflying Chen      
@baggio[匿名]
现在还没有,这一段时间一直没有更新过Blog
  回复  引用  查看    
#63楼 [楼主] 2007-01-29 11:24 | Dflying Chen      
@baggio[匿名]
是什么地方有错误呢?
  回复  引用  查看    
#64楼 [楼主] 2007-01-29 11:26 | Dflying Chen      
@林思衣
Microsoft.Web.Extensions.dll这个程序集没有加载阿
  回复  引用  查看    
#65楼  2007-01-31 11:40 | snryang [未注册用户]
才来的 看看~~~~~~
  回复  引用    
#66楼 [楼主] 2007-02-01 00:18 | Dflying Chen      
@snryang
呵呵
  回复  引用  查看    
#67楼  2007-02-09 09:05 | 流云萧 [未注册用户]
分析器错误信息: 未能加载文件或程序集“Microsoft.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35”或它的某一个依赖项。系统找不到指定的文件。 (F:\RainC\ASP.net\PopupNotificationTest\web.config line 50)


这是什么原因???我DLL也引入不进来。
  回复  引用    
#68楼 [楼主] 2007-02-09 20:26 | Dflying Chen      
@流云萧
这个东西是根据Beta版本写的,在正式发布的版本中,
Microsoft.Web.Extensions改为了System.Web.Extensions
  回复  引用  查看    
#69楼  2007-02-10 11:32 | 流云萧 [未注册用户]
Dflying Chen
你现在这个有没有正式版的DLL发布一个呀??

我好想用这个东西。。

微软的里面也有这样的一个东西,只不过是未完成品,用不了的。。

能不能搞个正式版的发布下?谢谢啊。。
  回复  引用    
#70楼 [楼主] 2007-02-11 13:51 | Dflying Chen      
@流云萧
现在还没有时间更新呢……等以后有空的吧
  回复  引用  查看    
#71楼  2007-03-24 10:29 | YanziMyWife      
老大先把源码公布撒!
  回复  引用  查看    
#72楼 [楼主] 2007-03-24 11:54 | Dflying Chen      
@YanziMyWife
代码已经给出了:
http://www.cnblogs.com/dflying/archive/2007/03/07/667448.html
  回复  引用  查看    
#73楼  2008-09-11 10:58 | Teamo [未注册用户]
分析器错误
说明: 在分析向此请求提供服务所需资源时出错。请检查下列特定分析错误详细信息并适当地修改源文件。

分析器错误信息: 未能加载文件或程序集“AjaxControlToolkit, Version=1.0.10123.0, Culture=neutral, PublicKeyToken=28f01b0e84b6d53e”或它的某一个依赖项。找到的程序集清单定义与程序集引用不匹配。 (异常来自 HRESULT:0x80131040)

源错误:


行 73: </asp:Panel>
行 74:
行 75: <dflying:popupnotificationextender id="pne" targetcontrolid="thePanel" runat="server"
行 76: verticalside="Bottom" horizontalside="Right" horizontaloffset="20" verticaloffset="20"
行 77: servicepath="NotificationService.asmx" servicemethod="GetNotification" queryserviceinterval="6000"


源文件: /Ajax_Control/PopupNotificationTest.aspx 行: 75


然后我查看web.config文件:
<add assembly="System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
难道这两个版本不兼容。。?还是其他什么问题。。请指教

  回复  引用    
#74楼  2008-09-12 13:51 | Teamo [未注册用户]
Dflying。。能否将DLL的实现发给我。。。
邮箱:hu.feizi@163.com
  回复  引用