0

我有一个 asp.net 网站,我正在尝试解决 ASP.NET AJAX 的问题:

Microsoft JScript 运行时错误:Sys.ArgumentTypeException:“Sys.Extended.UI.AccordionBehavior”类型的对象无法转换为“Sys.UI.Behavior”类型。参数名称:实例

我用谷歌搜索了很多,并查看了提供的代码(见下文,不知道这意味着什么),但没有运气。

我已经尝试将 scriptmanger 脚本模式更改为发布,以及其他一些东西。有人有想法么?

细节:

  • 视觉工作室 2010
  • ASP.NET 4.0
  • Ajax控制工具包4.0
  • jQuery 1.4.2
  • jQuery UI 1.8.5

JS 代码错误发生在 ScriptResource.axd 内部:

dispose:function()
{
var c=this;
b.UI.Behavior.callBaseMethod(c,eb); --------- this line 
var d=c._element;
if(d)
{
var f=c.get_name();
if(f)
d[f]=a;
var e=d._behaviors;
Array.remove(e,c);
if(!e.length)
d._behaviors=a;
delete c._element
}

}

手风琴控制声明:

<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="atlas" %>

(剪断)

<atlas:Accordion ID="menu" runat="server" SelectedIndex="0"
    ContentCssClass="accordionContent" FadeTransitions="true" FramesPerSecond="30"
    TransitionDuration="250" AutoSize="None" Width="270">
</atlas:Accordion>

*更新:*
按要求添加了手风琴控制声明,还有什么我可以添加的有用的吗?

有没有人对这个错误有任何想法 - 我认为它是 MS AJAX 不能很好地与页面上的其他 javascript(可能是 jQuery UI)一起玩吗?

4

1 回答 1

1

您是否在页面上使用更新面板?如果是这样,请记住,一旦在更新面板的内部\外部添加控件,回发中包含的对象的“范围”就会发生巨大变化,因为仅包含包裹在 UpdatePanel 中的对象。

如果这没有帮助,我深表歉意,但是我在 ASP.NET AJAX 方面的经验给回发模型增加了一层复杂性,而我已经实现了它。

于 2010-10-21T02:09:04.610 回答