为什么我的AJAX手风琴控制器停止工作?
问题描述:
我真的不知道从哪里开始。我试图在ASP.Net网络应用程序中使用reportviewer做一些事情,下次运行我的项目时,AJAX手风琴停止了在完全不同的页面上展开。我尝试使用NuGet重新安装AJAXControlToolkit,但这没有帮助。该页面显示折叠的手风琴窗格,并点击它们不会导致它们展开。为什么我的AJAX手风琴控制器停止工作?
编辑:好吧,所以页面出现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添加到控件的某处或某处,但我真的只是在猜测。
编辑2:我找到了罪魁祸首。在母版页上我有一个用户控件,其中我有一个Modal Popup Extender,它的一些属性(OKButton,CancelButton等)被设置为不存在的控件。
答
对于模糊的问题感到抱歉......它归结为:什么会导致AJAX控件意外停止工作?
正如在评论中指出的那样,它通常来自javascript错误。
你有任何的JavaScript错误? –
@rickschott不知道我是否误解了这个问题,或者您误解了Schott先生的问题(也许我误解了您的意见或javascript) – Bastardo
@OkayGuy通常这些问题是由一些导致页面中断的JS错误引起的,像手风琴不起作用。 –