【发布时间】:2011-05-11 22:00:28
【问题描述】:
我在现有 Sitefinity 站点内实现新的 Messenger Connect 功能以启用使用 Live ID 的客户端登录时遇到问题。
也就是说,当我使用以下代码来实现客户端功能时:
<head runat="server">
<script type="text/javascript" src="http://js.live.net/4.1/loader.js"></script>
</head>
<body>
<form runat="server" id="form1">
<asp:ScriptManager ID="ScriptManager1" runat="server"/>
<wl:app
client-id="<%= ConfigurationManager.AppSettings["wl_wrap_client_id"] %>"
scope="WL_Profiles.View"
callback-url="<%= ConfigurationManager.AppSettings["wl_wrap_client_callback"] %>?wl_session_id=<%=SessionId %>"
channel-url="/channel.htm">
</wl:app>
...我在 Firebug 中遇到三个我无法完全正确识别的错误:
Sys.ArgumentTypeException:“Sys._Application”类型的对象不能 转换为类型“Sys.IDisposable”。 参数名称:对象
(在 ScriptResource.axd?d=.... 第 4993 行)
Sys.Application._doInitialize 不是 功能
(在 MicrosoftAjaxBase.js 第 1 行)
Sys.InvalidOperationException: 脚本“MicrosoftAjaxGlobalization.js” 被多次引用。如果 引用 Microsoft AJAX 脚本 明确地,设置 MicrosoftAjaxMode ScriptManager 的属性 明确的。
(在 ScriptResource.axd?d=.... 第 984 行)
只有当我包含来自 js.live.net 的 loader.js 脚本时才会触发错误。
编辑:似乎错误不一定按该顺序触发。刷新页面似乎可以改变这些错误和/或引入其他错误,例如第 1842 行的 ScriptResource.axd?... 中的 Sys.ParameterCountException。
【问题讨论】:
-
我也遇到过这个错误,还没有找到解决方案。似乎 Messenger Connect 使用了它自己版本的 AJAX 加载器功能,并且如果您将其用于其他事情(例如异步加载其他所有内容),它与现有版本不兼容。
-
看看这是否也有帮助,不管最初的罪魁祸首是否有帮助:stackoverflow.com/questions/19103128/…
标签: javascript asp.net asp.net-ajax sitefinity liveid