2011-01-25 33 views
11

Es extraño, tengo el problema:Asp.net: no se puede solucionar este problema: Sys.ArgumentNullException: el valor no puede ser nulo. Nombre del parámetro: elementos

Sys.ArgumentNullException: El valor no puede ser nulo. Nombre del parámetro: elementos.

Este problema solo ocurre en IE.

Detalles:

  • ScriptResource.axd = Línea: 4868
  • Código: 0 - Char: 12

detalles de los errores página web

User Agent: Mozilla/4.0 (compatible ; 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) Marca de tiempo: mar, 25 de enero de 2011 11:24:42 UTC

Mensaje: Sys.ArgumentNullException: el valor no puede ser nulo. parámetro de nombre: Elementos Línea: 4868 Char : 12 Código: 0 URI: http://asdfsdf/ScriptResource.axd?d=7NwOnZl2VMauVPybpy_0vvP2zsCf0g8YK4dd3SkNMq873HwvoDhnE7rPvjFZwFLM0&t=11e661nl.js

gracias por adelantado!

+0

¿Puede mostrar algún código que involucre los elementos del parámetro? El error dice que tu variable de elementos es nula o indefinida. Mostrar la línea de código de cómo se obtienen los elementos? –

+0

¿Está usando algún control AJAX? Ajax Control toolkit? ¿Controles ASP.NET AJAX de terceros? –

+0

Tengo el mismo problema. Es indudablemente una combinación de UpdatePanel y ajaxcontroltoolkit. – UmaN

Respuesta

15

tengo el mismo problema ...

Es sin lugar a dudas una combinación de UpdatePanel y AjaxControlToolkit ...

Editar:

No vi qué edad tenía esta pregunta. Quizás ya no sea relevante ... Pero en mi caso, he encontrado este problema ahora en dos ocasiones y encontré dos soluciones diferentes. La primera occación involucró paneles de actualización, un modalpopupextender y un control de validación de resumen. El problema era que validationsummary no daba un punto y coma al final del javascript generado. La solución es crear su propio mini-control que hereda de ValidationSummary y lo hace en la pre-render:

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

     ScriptManager.RegisterStartupScript(this.Page, this.Page.GetType(), this.ClientID, ";", true); 
    } 

simplemente añade un punto y coma al javascript. Eso lo resolvió

No estoy seguro si estaba enfrentando el mismo problema nuevamente ahora, pero mi página de problema nuevamente tenía paneles de actualización, controles del kit de herramientas ajaxcontrol (Modalpopupextender) y resúmenes de validación. Como había olvidado mi solución anterior, probé otra que encontré en google; configuración

ScriptMode="Release" 

en mi scriptmanager en mi página maestra. Esto funcionó. No estoy seguro de si debería estar contento o no con esto ... Parece que la versión de depuración arroja javascript que no funciona cuando se combina con algunos otros controles asp.net.

+0

intenté esto, ese error fue corregido, y el nuevo error que muestra "indefinido es nulo o no es un objeto" en srciptresource.axd en IE8 – Syed

+1

Gracias @UmaN Me salvaste el día. Pero sospecho que el modo de lanzamiento está eliminando la capacidad de depuración del navegador. Pero, heno, mi aplicación ahora funciona. Así que dejo esto para luego investigar. –

+0

esto resolvió mi problema. – greg

26

Cambiar ScriptMode a Release solucionó esto por mí.

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

+0

¡Eres un verdadero héroe! –

2

También recibirá este error si se establece Visible = False en el control especificado en el CancelControlID de un ModalPopupExtender. Si tiene una ruta de código donde necesita ocultar el CancelControlID, simplemente asegúrese de establecer CancelControlID = "" en esa situación. Ese era el problema me encontré con ...

1

sucedió a mí cuando he creado un panel de actualización en un control de servidor personalizado y no usar RenderControl() después

protected override void RenderContents(HtmlTextWriter writer) 
{ 
    myUpdatePanel.RenderControl(writer); 
} 
0

En caso de que utilice ReportViewer en la página esto podría ayudar.

Conjunto compilation debug="false" en web.config.

Cuestiones relacionadas