Domanda

Ho questo link, in uno sforzo per implementare AJAX collegarvi, sulla mia pagina:

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

C'è un div con id lll nelle vicinanze. Quando clicco sul link, ho la conferma di bla (appena aggiunto per il debugging, il comportamento senza di essa è la stessa cosa), ma poi non succede nulla. Nessuna richiesta raggiunge mai il server (perché ho un punto di interruzione sul metodo di azione di accesso). Questo è in Chrome e IE8. In FF3 si apre la vista di accesso, ma come una pagina, non scaricare tramite AJAX.

Tutte le idee che potrebbe essere sbagliato?

È stato utile?

Soluzione

Il problema era che il link azione Ajax fa una richiesta POST per impostazione predefinita e veniva diretto verso l'altro metodo di accesso (quello postale accettante) ed è per questo che non è stato colpito il punto di interruzione Inoltre, è stato venendo a mancare perché il i dati POST necessario non è stato inviato. Aggiungendo HttpMethod al link azione ha risolto il tutto:

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

Altri suggerimenti

Sembra che ci sia qualche errore javascript nella pagina causando il javascript inserito per gestire la richiesta AJAX non sparare. Hai guardato in FireBug al caricamento della pagina per vedere se tutti i tuoi Javascript caricare correttamente? Inoltre, fanno la propria versione di Microsoft javascript librerie corrispondere alla versione di MVC che si sta utilizzando? Mi ricordo che almeno una volta nella progressione di versioni che ho dovuto aggiornare manualmente le mie versioni di Microsoft librerie javascript nel mio progetto. Se il progetto è esistito attraverso molteplici versioni di MVC, suggerirei rintracciare le nuove librerie (creare un nuovo progetto e copiarli vostro vecchio o aprire l'archivio di progetto nella directory di installazione ed estrarli a mano) e la loro installazione .

Forse si include script client Ajax nella sezione head:

  • MicrosoftMvcAjax.js
  • MicrosoftAjax.js
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top