2009-03-30 7 views
10

Używam pomocnika Ajax.ActionLink do wygenerowania linku do usunięcia rekordu. Jest to kod:Przypisanie funkcji JavaScript do właściwości AjaxOptions OnSuccess powoduje zgłoszenie błędu - ASP.NET MVC

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

jestem przypisać funkcję Javascript (test()) do nieruchomości OnSucess bo chcę zrobić kilka rzeczy JQuery, ale gdy klikam odnośnik Usuń ten komunikat o błędzie jest podniesiona

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

w pliku MicrosoftAjax.js (wiersz 5, kolumna 62099). Jeśli usunę właściwość OnSuccess, wszystko będzie działało poprawnie (nawet jeśli funkcja Test() jest pusta, zostanie zgłoszony ten sam błąd). Dzięki za pomoc!

Odpowiedz

19
OnSuccess = "Test()" 

trzeba napisać to tak, że jest to zwrotna ...

OnSuccess = "Test" 
+0

Czy mogę uzyskać dostęp do wartości zwracanych z tego działania jak Json? – Shimmy

+0

Jak przekazać 'this' (tj. Wygenerowaną kotwicę) do funkcji js? – Shimmy

14

Jeśli trzeba przejść każdy parametr do onSuccess razie może trzeba napisać función w ten sposób.

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

Aby przekazać parametr, anonimowa funkcja nie zadziała, trzeba zrobić coś takiego:

OnSuccess = String.Format("Test({0})", param) 
Powiązane problemy