.NET AJAX Control Toolkit problema con javascript (Sys is not defined)
Ultimante me encontre con un problema con esta libreria de .NET, pero el problema no era en desarrollo si no que en produccion, asi que era aun mas preocupante.
El error es que al cliente le muestra un error de javascript, el cual dice que la variable "sys" no es definida.
Causa:
AjaxControlToolkit, ocupa recursos embedidos, es decir los controles contienen sus propios js, imagenes y css, lamentablemente estos no logran ser interpretados o procesados por servidor.
Esta es la linea que agrega el control, para llamar a un javascript
Solucion:
como IIS, o el servidor de desarrollo, no logra interpretar la extensiones "axd"(esto es curioso, en mi caso estaban configurado para que los interpretara iisapi.dll) hay que agregar las siguientas lineas en el web.config.
Esto va dentro del tag "Web.config" de esta forma nuestro application Server sabra que hacer cuando se encuentre con una extension "axd"
--
Atte.
Víctor Hugo Saavedra.
http://vhspiceros.blogspot.com
El error es que al cliente le muestra un error de javascript, el cual dice que la variable "sys" no es definida.
Causa:
AjaxControlToolkit, ocupa recursos embedidos, es decir los controles contienen sus propios js, imagenes y css, lamentablemente estos no logran ser interpretados o procesados por servidor.
Esta es la linea que agrega el control, para llamar a un javascript
<script src="/WebSiteControl/WebResource.axd?d=Tm3Cyn9D......" type="text/javascript"></script>
Solucion:
como IIS, o el servidor de desarrollo, no logra interpretar la extensiones "axd"(esto es curioso, en mi caso estaban configurado para que los interpretara iisapi.dll) hay que agregar las siguientas lineas en el web.config.
<httpHandlers>
<remove verb="*" path="*.asmx" />
<add verb="*" path="*.asmx" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory,System.Web.Extensions, Version=1.0.61025.0, Culture=neutral,PublicKeyToken=31bf3856ad364e35" />
<add verb="*" path="*_AppService.axd" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory,System.Web.Extensions, Version=1.0.61025.0, Culture=neutral,PublicKeyToken=31bf3856ad364e35" />
<add verb="GET,HEAD" path="ScriptResource.axd"type="System.Web.Handlers.ScriptResourceHandler,System.Web.Extensions, Version=1.0.61025.0, Culture=neutral,PublicKeyToken=31bf3856ad364e35" validate="false" />
</httpHandlers>
Esto va dentro del tag "Web.config" de esta forma nuestro application Server sabra que hacer cuando se encuentre con una extension "axd"
--
Atte.
Víctor Hugo Saavedra.
http://vhspiceros.blogspot.com
Muchas Gracias!!! Me ha sido de gran ayuda lo del WebConfig!!
ResponderEliminarYa estaba a punto de explotar xq no encontraba la razon logica del error de 'Sys'... Gracias!!!
De nada. esa es la idea.
ResponderEliminarcompartir y acordarme de las cosas que uno va solucionando de apoquito.
Muchas gracias el tema no solo se me estaba presentando con los controles toolkit sino tambien con ajax extensions (Update Panel, Update progress etc) pero con eso se solucionó...
Eliminara mi me aparece el mismo error, comenze un nuevo web site, un ASP.NET AJAX-Enabled web site. Y asi sin escribir nada de codigo,abri la pagina en un navegador, esperando que saliera nada, efectivamente, salio la hoja en blanco pero firebug me ha dicho del error:
ResponderEliminarSys is not defined
Sys.Application.initialize();
alguien tiene una solucion?
agregaste las lineas en el web.config que aparecen mas arriba en el blog???
ResponderEliminarThe blog is helpfull...
ResponderEliminarvisit also asp.net example
¡Gracias por el dato!
ResponderEliminarHoy me sucedió esto y no me podía dar cuenta cual era el problema. El Web.config no es un lugar en donde uno vaya a buscar la solución a un problema como este...
de nada Gerardo :). Esa es la idea de tener el blog.
ResponderEliminarA proposito esta bien bueno tu blog.
--
Atte.
Victor Hugo Saavedra
http://vhspceros.blogspot.com
Hola , tengo el mismo problema : "Sys is not defined", pero ademas me manda otro mensaje : "Error al cargar el marco de trabajo de cliente ASP.NET Ajax", alguien podria ayudarme con esto?, gracias !
ResponderEliminarLas líneas en el web.config solucionaron el problema cuando el control ScriptManager estaba en una página normal, pero cuando coloco el ScriptManager en la master page ocurre el mismo error, a pesar de las líneas en el web.config.
ResponderEliminarGerónimo: necesitas un ScriptManagerProxy en la página contenida.
ResponderEliminarhaaaa, soy el mejor, yo nunca tuve ese problema
ResponderEliminarHola, yo tengo en mi aplicación un ScriptManager y me muestra varios errores javascript como que "Sys no esta definido" o "Type no esta definido".
ResponderEliminarTengo en el web.config lo mismo que se sugiere en este blog, lo único que cambia es la versión que estoy utilizando porque utilizo ajax 3.5 con ASP.net
Mi web.config tiene esto:
........Version=3.5.0.0, Culture=neutral.....
Alguien me puede orientar un poco porfavor?????
Gracias.
Tengo el mismo problema; estoy usando Framework 3.5, Asp.Net y Ajax.
ResponderEliminarEn el web config no tengo que poner nada porque esas líneas ya existen.
El gran problema es que en local si me sirve, pero si mudo la aplicación web a un servidor web y lo ejecuto, el resultado es que no ocurre la comunicación asíncrona y me aparecen estos errores que me muestra Firefox:
- Error al cargar el marco de trabajo de cliente Asp.Net Ajax.
- Sys is not defined.
¿Alguna solución?
tienes instalada la misma version del ajax control toolkit??
ResponderEliminarprimero tienes instalo el ejax control toolkit y el web extension en el servidor???
--
Atte.
Victor Hugo Saavedra
Sí, tengo todo instalado. Inclusive hasta puse los assemblies en la carpeta Bin del proyecto Web aunque eso era innecesario porque esas referencias ya existen. (Estoy usando VB.Net Framework 3.5)
ResponderEliminarPero encontré una solución, aunque no me gusta pero la voy a usar mientras descubro por qué al mudar el proyecto a un servidor web totalmente independiente de VS 2008, el Ajax no trabaja para nada?
La solución fue muy simple y consistió en descargar los archivos javascript de Ajax .Net y ponerlos en una carpeta y luego establecí las referencias correspondientes con la directiva script en el Head del masterpage que estoy usando.
Los archivos que el ScriptManager carga son: MicrosoftAjax.js, MicrosoftAjaxWebForms.js y MicrosoftAjaxTimer.js. El último no es necesario ponerlo para lo que estoy haciendo.
Basándome en la teoría, es el ScriptManager el encargado de cargar las bibliotecas *.js de Ajax .Net pero por desgracia para mí no está funcionando en producción y por eso las tuve que poner a pata, jaja!
por lo menos funciona, si alguna vez recuerdo trate de hacer lo mismo, pero no me funciono :(
ResponderEliminarque bueno que pudiste solucionar tu problema.
Muy buen blog.
ResponderEliminarCódigo Maestro
http://www.codigomaestro.com/
si no funciona el script del web config lo unico que tienen que cambiar es la version del system.web extension de la version 1.0.61025.0 por la version 3.5.0.0 y funciona
ResponderEliminarMuchisimas gracias me ha resuelto el problema
Eliminardemasiadas gracias, me sacaste de un tremendo cacho!!!!!
ResponderEliminargracias totales!!!
pero en q parte del web config va dentro de que etiquetas
ResponderEliminarMuchas gracias... hace un momento no me estaba funcionando el ajax control toolkit y el update panel.
ResponderEliminarCon este Tip lo arreglé
Genial!!! era lo que buscaba.
ResponderEliminarhay que ponerlo dentro de la etiqueta system.web
Gracias
Gracias!! era justo mi problema!!
ResponderEliminarDesde Cordoba.Argentina
yo tengo el siguiente problema :La aplicaciòn trabaja bien en la web, pero localmente me muestra el siguiente error
ResponderEliminarMensaje de error del compilador: BC30560: 'ScriptManager' es ambiguo en el espacio de nombres 'System.Web.UI'.
agradezco cualquier ayuda que me puedan brindar
yo tengo lo siguiente y el error me da de forma aleatoria:
ResponderEliminaryo tengo lo sigueinte y me da de forma aleatoria, alguien sabe como solucionarlo?, gracias ( cambio los < y lo > por - ).
ResponderEliminar-httpHandlers-
-remove verb="*" path="*.asmx" /-
-add verb="*" path="*.asmx" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory,System.Web.Extensions, Version=1.0.61025.0, Culture=neutral,PublicKeyToken=31bf3856ad364e35" /-
-add verb="*" path="*_AppService.axd" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory,System.Web.Extensions, Version=1.0.61025.0, Culture=neutral,PublicKeyToken=31bf3856ad364e35" /-
-add verb="GET,HEAD" path="ScriptResource.axd"type="System.Web.Handlers.ScriptResourceHandler,System.Web.Extensions, Version=1.0.61025.0, Culture=neutral,PublicKeyToken=31bf3856ad364e35" validate="false" -
-/httpHandlers-
Yo tengo lo siguiente y el error me da en forma aleatoria, alguien sabe como solucionarlo?? gracias ( cambie los < y > por - )
ResponderEliminar-httpHandlers-
-remove verb="*" path="*.asmx"/-
-add verb="*" path="*.asmx" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/-
-add verb="*" path="*_AppService.axd" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/-
-add verb="GET,HEAD" path="ScriptResource.axd" validate="false" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/-
-/httpHandlers><httpModules-
Muchas gracias esto fue super util ya estaba volviendome loco
ResponderEliminarde mada DarkSun. esa es la gracia del blog, es ver problemas que yo tengo, para despues verla en el tiempo. pero si le sirve a mas gente bienvenido sea o no?
ResponderEliminarHola
ResponderEliminarFunciono tambien esta solucion para mi.
La seccion del web.config critica resulto ser:
Yea si funciona cambiando el texto de la version 1.0.61025.0 por la version 3.5.0.0
ResponderEliminaryo tengo el mismo problema pero este blog no me lo soluciona,
ResponderEliminarayudenme, jejej
en el web config tengo esto
y me sale
- Error al cargar el marco de trabajo de cliente Asp.Net Ajax.
- Sys is not defined.
no salio lo del web config, bueno tengo lo mismo con la excepcion que tengo otra linea mas
ResponderEliminaradd verb="POST,GET" path="ajax/*.ashx" type="Ajax.PageHandlerFactory, Ajax"
haa y este error tambien me sale
ResponderEliminarMensaje: Carácter no válido
ScriptResourse.axd
Línea: 1
Carácter: 1
Código: 0
URI: http://localhost:4052....
les agradeceria si alguien me puede guiar
hola ENFOR.
ResponderEliminarprimero algunas preguntas
¿no te funciona ningun control de ajaxcontroltoolkit ote funciona y te sale un error?
¿version de .net y ajaxcontroltoolkit'
puedes probar creando un proyecto con extension para ajaxcontroltoollkit creo que se llama, y ahi ver si te funcionan los controles basicos.
--
Atte
Víctor Hugo Saavedra.
http://vhspiceros.blogspot.com
la verdad estoy intentado crear otras caracteristicas de ajax como un boton que me modifique un campo en una base de datos sin tener que refrescar la pagina y no me funcionan los toolkit, pero si le quito todo el codigo del otro ajax si funcionan y si le quito el ajaxtoolkit si funciona el otro. y no se que hacer
ResponderEliminarla otra pag de ajax es:
http: //www. scourdesign.com/articulos/tutoriales/net/6.php
gracias de antemano
Muchas gracias me sirvio de referencia.
ResponderEliminarEsto es genial, ya que aun que es un tema antiguo, para quienes estamos aprendiendo nos sirve de mucho, pude resolver el problema con ésta guia y ademas con la ayuda de quien dijo que habia que cambiar la extension de la version 1.0.61025.0 por la version 3.5.0.0. Muchas gracias a todos :D
ResponderEliminarMuchisimas gracias amigo tenía horas intentando solucionar el bendito problema, nunca me hubiera imaginado q el inconveniente era de producción se soluciono el problema y a seguir programando gracias nuevamente!!!!!!
ResponderEliminarEn mi aplicacion de desarrollo si anda todo bien, pero al migrarlo a una ambiente productivo, truena en esa parte.
ResponderEliminarASP.NET Ajax client-side framework failed to load
y
'Sys' no esta definido.
Los Assembly's los tengo correctamente, agregue tmb el ScripManagerProxy y nada :S
Al momento de construir el sitio no me indica ningun error, lamentablemente no tengo accesso al IIS para verificar la configuración de mi site.
Ojala alguien tenga una solución aunq sea alternativa.
Saludos
Hola soy de abctv.mobi y me ha servido de mucho el aporte muchisimas gracias ahora todo me funciona me estaba volviendo loko con el timer, update panel y ScriptManager para una apli de chat.
ResponderEliminarHola! A mi me aparece este problema al publicar mi sitio en la en la web. si lo uso dentro de mi intranet anda perfecto, pero si invoco el mismo sitio en el mismo servidor pero desde una url de internet aparece el error.
ResponderEliminarAlguna sugerencia?
Hola mi web.config no tiene el tab web.config, me pueden explicar en que parte ca el tag?
Eliminargracias
Hola,
EliminarUna pregunta a que te refieres con que tu Web.config no tiene el tab de web.config
Esto debería estar en system.web mira http://msdn.microsoft.com/es-es/library/bya7fh0a(v=vs.80).aspx
Muy buena la solución. Gracias
ResponderEliminarExcelente!....muchas gracias...me sirvió de gran ayuda!
ResponderEliminarbuenos dias
ResponderEliminarpara comentarles un problema que me esta sucediendo a ver si ustedes me pueden ayudar.
el inconveniente es q cuando su lo emigro a producción no me funciona el calendarExtender de ajax local si funciona pero en producción no lo curioso es que en unos formularios si me toma esta extencion
pero en otros formularios no me lo esta tomando, tengo esta extencion (calendarExtender ) en un combobox y ya realice los pasos en el web.confing que mencionan en este post
gracias de antemano