为什么我的AJAX手风琴控件停止工作



我真的不知道从哪里开始。我试图在ASP中使用报表查看器做一些事情。当我下次运行我的项目时,AJAX手风琴停止在一个完全不同的页面上展开。我尝试使用NuGet重新安装AJAXControlToolkit,但这没有帮助。该页面显示折叠的手风琴窗格,单击它们不会使它们展开。

编辑:好的,所以页面上有一个Javascript错误,但不是一个我知道该怎么做。错误来自于scriptresource.axd。这个错误出现在我的网站的每个页面,它是:

Sys.ArgumentNullException: Sys.ArgumentNullException: Value cannot be null.
Parameter name: elements [http://localhost:54342/ScriptResource.axd?d=oLn_YfKUbuAZmIp8wPx_MGof0M_lenV-JW2kiI5YDekmr8rZkMCuAuKyOZO06cyZlzhzJQ4BbUMfJShMBgWgM8TnLZXjah8CDfymeaxo44H_TH5anoZTptNOkXlY-ZNjFoS3wUNWvcmBHzSSm5K9ww2&t=252a36c5:4869]

抛出错误的函数:

$addHandler = $type.addHandler = function DomEvent$addHandler(elements, eventName, handler, autoRemove) {
    /// <summary locid="M:J#Sys.UI.DomEvent.addHandler">A cross-browser way to add a DOM event handler to an element.</summary>
    /// <param name="elements">The element or text node, or array of elements or text nodes, that exposes the event. You may also pass a DOM selector or array of DOM selectors.</param>
    /// <param name="eventName" type="String">The name of the event. Do not include the 'on' prefix, for example, 'click' instead of 'onclick'.</param>
    /// <param name="handler" type="Function">The event handler to add.</param>
    /// <param name="autoRemove" type="Boolean" optional="true" mayBeNull="true">Whether the handler should be removed automatically when the element is disposed of, such as when an UpdatePanel refreshes, or Sys.Application.disposeElement is called.</param>
    var e = Function._validateParams(arguments, [
        {name: "elements"},
        {name: "eventName", type: String},
        {name: "handler", type: Function},
        {name: "autoRemove", type: Boolean, mayBeNull: true, optional: true}
    ]);
    if (e) throw e;

^^出现在最后一行。

似乎我可能错过了一些简单的东西,比如……添加ID到某个控件,但我真的只是猜测。

我找到了罪魁祸首。在主页上,我有一个用户控件,其中我有一个模态弹出扩展器,它的一些属性(OKButton, CancelButton等)设置为不存在的控件。

很抱歉我的问题有点模糊…它可以归结为:什么会导致AJAX控件意外停止工作?

最新更新