Поскольку вы используете get_response()
Я предполагаю, что вы не используете ненавязчивый материал javascript (в MVC3 вы установили HtmlHelper.UnobtrusiveJavaScriptEnabled = false
) и вы ссылаетесь на файлы MicrosoftAjax, js и MicrosoftMvcAjax.js , Если это так, вам просто нужно удалить ключевое слово new
.
using (Ajax.BeginForm("Register", new AjaxOptions() { OnSuccess = "function(arg){HandleBasicForm(arg , 'MyCustomVariable')}"})
Если вы используете ненавязчивую поддержку javascript MVC3 с jquery.unobtrusive-ajax.js, вы можете использовать неявно доступные переменные xhr
и data
.
using (Ajax.BeginForm("Register", new AjaxOptions() { OnSuccess = "HandleBasicForm(data, 'MyCustomVariable')"})
В вашем обработчике не будет необходимости использовать get_response().get_object()
, поскольку десериализованные данные JSON будут напрямую передаваться вашему обработчику.
function HandleBasicForm(data, myCustomVariable){
var someValue = data.someProperty; //work with data object returned
....
}