Pregunta

Tengo este enlace, en un esfuerzo para implementar AJAX conectarse, en mi página:

<%= Ajax.ActionLink("Log On", "LogOn", "Account", new AjaxOptions {
    UpdateTargetId = "lll",
    Confirm = "blah"}) %>

Hay un div con lll Identificación cerca. Cuando pulso en el enlace, consigo la confirmación bla (simplemente añadido para propósitos de depuración, el comportamiento sin ella que es lo mismo), pero luego no pasa nada. No se ha solicitado alguna vez llega al servidor (porque tengo un punto de interrupción en el método de acción inicio de sesión). Esto es en Chrome y IE8. En FF3 se abre la vista de inicio de sesión, sino como una página, no se descarga a través de AJAX.

Alguna idea de lo que podría estar mal?

¿Fue útil?

Solución

El problema fue que el enlace de acción Ajax hace una petición POST de manera predeterminada y que estaba siendo dirigida hacia el otro método Logon (el POSTE aceptar) y es por eso que no estaba golpeando el punto de interrupción Además, estaba fallando debido a que la no se están enviando datos de POST necesario. Añadiendo HTTPMethod al enlace fijo de acción que:

<%= Ajax.ActionLink("Log On", "LogOn", "Account", new AjaxOptions {
    UpdateTargetId = "lll",
    Confirm = "blah",
    HttpMethod = "Get"}) %>

Otros consejos

Parece que hay algún error de JavaScript en la página haciendo que el javascript insertado para manejar la petición AJAX no disparar. ¿Ha mirado en FireBug al cargar la página para ver si todo su Javascript cargar correctamente? Además, hacen sus versiones del Microsoft javascript bibliotecas coinciden con la versión del MVC que está utilizando? Recuerdo al menos una vez en la progresión de las versiones que he tenido que actualizar manualmente mis versiones de la bibliotecas de Javascript en mi proyecto de Microsoft. Si su proyecto ha existido a través de múltiples versiones de MVC, sugeriría rastrear las bibliotecas nuevas (crear un nuevo proyecto y copiarlos a su viejo o abrir el archivo de proyecto en el directorio de instalación y extraerlos a mano) e instalarlos .

¿Incluyó scripts de cliente Ajax en la sección de cabecera:

  • MicrosoftMvcAjax.js
  • MicrosoftAjax.js
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top