Ответ 1
Поскольку вы используете 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
....
}