Назначение функции Javascript свойству AjaxOptions OnSuccess вызывает ошибку - ASP.NET MVC - PullRequest
10 голосов
/ 30 марта 2009

Я использую помощник Ajax.ActionLink для генерации ссылки для удаления записи. Это код:

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

Я назначаю функцию Javascript (Test ()) свойству OnSucess, потому что я хочу сделать некоторые вещи JQuery, но когда я нажимаю ссылку Удалить, появляется это сообщение об ошибке

Ошибка времени выполнения Microsoft JScript: 'b' является нулем или не является объектом

в файле MicrosoftAjax.js (строка 5, столбец 62099). Если я удаляю свойство OnSuccess, все работает нормально (даже если функция Test () пуста, возникает та же ошибка). Спасибо за вашу помощь!

Ответы [ 3 ]

19 голосов
/ 30 марта 2009
OnSuccess = "Test()" 

Вы должны написать это так, это обратный вызов ...

OnSuccess = "Test"
14 голосов
/ 02 сентября 2010

Если вам нужно передать какой-либо параметр в событие OnSuccess, вам, возможно, придется написать функцию следующим образом.

OnSuccess = "function(){exampleFunction('" + param1 + "');}"
0 голосов
/ 20 января 2012

Чтобы передать параметр, анонимная функция не будет работать, вам нужно сделать что-то вроде этого:

OnSuccess = String.Format("Test({0})", param)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...