2009-03-30 9 views
10

Sto utilizzando l'helper Ajax.ActionLink per generare un collegamento per eliminare un record. Questo è il codice:Assegnare una funzione Javascript a AjaxOptions La proprietà OnSuccess genera un errore - ASP.NET MVC

Ajax.ActionLink("Delete Image", "DeleteImage", new { id = item.Id }, 
               new AjaxOptions { HttpMethod = "Delete", OnSuccess = "Test()" }) 

Sono assegnare una funzione JavaScript (Test()) per la proprietà OnSucess perché voglio fare alcune cose JQuery, ma quando clicco sul collegamento Elimina questo messaggio di errore viene generato

Microsoft JScript runtime error: 'b' is null or not an object

nel file MicrosoftAjax.js (Riga 5, Colonna 62099). Se rimuovo la proprietà di OnSuccess, tutto funziona correttamente (anche se la funzione Test() è vuota, viene generato lo stesso errore). Grazie per l'aiuto!

risposta

19
OnSuccess = "Test()" 

devi scrivere in questo modo si tratta di una richiamata ...

OnSuccess = "Test" 
+0

Posso accedere a valori restituiti da tale azione come JSON? – Shimmy

+0

Come faccio a passare 'questo' (cioè l'ancora generata) alla funzione js? – Shimmy

14

Se si deve passare qualsiasi parametro per l'evento OnSuccess potrebbe essere necessario scrivere il funcion in questo modo.

OnSuccess = "function(){exampleFunction('" + param1 + "');}" 
0

passare un parametro, una funzione anonima non funziona, è necessario fare qualcosa di simile:

OnSuccess = String.Format("Test({0})", param) 
Problemi correlati