【发布时间】:2012-01-10 04:33:00
【问题描述】:
我真的不知道从哪里开始。我试图在 ASP.Net Web 应用程序中使用 reportviewer 做一些事情,下次我运行我的项目时,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,但我真的只是在猜测。
编辑 2:我找到了罪魁祸首。在母版页上,我有一个用户控件,其中有一个 Modal Popup Extender,它的一些属性(OKButton、CancelButton 等)设置为不存在的控件。
【问题讨论】:
-
您有任何 JavaScript 错误吗?
-
@rickschott 不确定是我误解了这个问题还是你误解了肖特先生的问题。(也许我误解了你的评论或 javascript)
-
@OkayGuy 通常这些问题是由一些 JS 错误引起的,导致页面中断,并导致手风琴之类的东西无法正常工作。
-
Rick Scott 说得对。如果有 javascript 错误,它会出现在浏览器的左下角。如果出现错误,请双击该图标,然后会出现一个包含更多详细信息的对话框。
-
@Brian 这个家伙正在询问我所理解的 Visual Studio 本身。