2009-03-30 6 views
10

Ich verwende den Ajax.ActionLink-Helfer zum Generieren einer Verknüpfung zum Löschen eines Datensatzes. Dies ist der Code:Zuweisen einer JavaScript-Funktion zu AjaxOptions OnSuccess-Eigenschaft verursacht einen Fehler - ASP.NET MVC

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

Ich bin eine Javascript-Funktion (Test()) an die OnSucess Eigenschaft zuweisen, weil ich einige JQuery Sachen tun wollen, aber wenn ich auf den Link Löschen wird dieser Fehler klicken Nachricht

angehoben

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

in der MicrosoftAjax.js-Datei (Zeile 5, Spalte 62099). Wenn ich die OnSuccess-Eigenschaft entferne, funktioniert alles (auch wenn die Test() - Funktion leer ist, wird der gleiche Fehler ausgelöst). Danke für Ihre Hilfe!

Antwort

19
OnSuccess = "Test()" 

Sie haben, es zu schreiben, wie diese es ein Rückruf ist ...

OnSuccess = "Test" 
+0

Kann ich Werte aus dieser Aktion wie Json zurückzugreifen? – Shimmy

+0

Wie übergebe ich 'this' (d. H. Den generierten Anker) an die js-Funktion? – Shimmy

14

Wenn Sie Parameter an die OnSuccess Ereignis passieren müssen Sie möglicherweise haben die funcion auf diese Weise zu schreiben.

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

einen Parameter zu übergeben, eine anonyme Funktion wird nicht funktionieren, müssen Sie so etwas wie dies tun:

OnSuccess = String.Format("Test({0})", param) 
Verwandte Themen