Asp.net:无法调试此问题:Sys.ArgumentNullException:Value不能为null.参数名称:元素

oli*_*dev 15 asp.net

很奇怪,我遇到了问题:

Sys.ArgumentNullException:值不能为null.参数名称:元素.

这个问题只发生在IE中.

细节:

  • ScriptResource.axd =行:4868
  • 代码:0 - 字符:12

网页错误详情

用户代理:Mozilla/4.0(兼容; MSIE 8.0; Windows NT 6.1; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; InfoPath. 2; .NET4.0C; .NET4.0E; AskTbBT4/5.8.0.12304)时间戳:星期二,2011年1月25日11:24:42 UTC

消息:Sys.ArgumentNullException:值不能为null.参数名称:elements行号:4868字符:12代码:0 URI:http://asdfsdf/ScriptResource.axd?d = 7NwOnZl2VMauVPybpy_0vvP2zsCf0g8YK4dd3SkNMq873HwvoDhnE7rPvjFZwFLM0&t = 11e661nl.js

提前致谢!

Dav*_*kle 31

将ScriptMode更改为Release为我修复此问题.

<asp:ScriptManager ID="ScriptManager1" runat="server" ScriptMode="Release"></asp:ScriptManager>


Uma*_*maN 16

我也有同样的问题...

无可否认,它是UpdatePanel和AjaxControlToolkit的组合......

编辑:

没看到这个问题多大了.也许它不再相关......但在我的情况下,我现在遇到了两个问题,并找到了两个不同的解决方案.第一个事件涉及更新面板,modalpopupextender和validationsummary控件.问题是validationsummary在生成的javascript结尾处没有输出分号.解决方案是创建自己的迷你控件,继承自ValidationSummary并在预渲染上执行此操作:

    protected override void OnPreRender(EventArgs e)
    {
        base.OnPreRender(e);

        ScriptManager.RegisterStartupScript(this.Page, this.Page.GetType(), this.ClientID, ";", true);
    }
Run Code Online (Sandbox Code Playgroud)

只需在javascript中添加分号即可.这解决了它.

我不确定我现在是否再次面临同样的问题,但我的问题页面再次有updatepanels,ajaxcontrol工具包控件(Modalpopupextender)和validaiton摘要.因为我忘记了以前的解决方案,我尝试了另一个我在google上找到的解决方案; 设置

ScriptMode="Release"
Run Code Online (Sandbox Code Playgroud)

在我的母版页中的scriptmanager上.这很有效.不知道我是否应该对此感到高兴...似乎调试版本吐出了与其他一些asp.net控件结合使用时无效的javascript.


小智 5

如果在 ModalPopupExtender 的 CancelControlID 中指定的控件上设置 Visible=False,也会收到此错误。如果您有需要隐藏 CancelControlID 的代码路径,请确保在这种情况下设置 CancelControlID = "" 。这就是我遇到的问题...