gpt4 book ai didi

c# - ASP.NET - Ajax.BeginForm OnSuccess 回调与参数

转载 作者:可可西里 更新时间:2023-11-01 08:01:04 25 4
gpt4 key购买 nike

我想向我的 OnSuccess 回调添加更多参数(但保留 ajax 上下文变量)。
我所做的是:

 using (Ajax.BeginForm("Register", new AjaxOptions() {
OnSuccess = "new function(arg){HandleBasicForm(arg , 'MyCustomVariable')}",
...

JS函数:

function HandleBasicForm(ajaxContext , myCustomVariable){
var content = ajaxContext.get_response().get_object();
....
}

但是 ajaxContext 为空。
我该怎么做?

最佳答案

由于您正在使用 get_response() 我猜您没有使用不显眼的 javascript 东西(在 MVC3 中您设置了 HtmlHelper.UnobtrusiveJavaScriptEnabled = false) 并且您正在引用 MicrosoftAjax、js 和 MicrosoftMvcAjax.js 文件。如果是这种情况,您只需删除 new 关键字即可。

 using (Ajax.BeginForm("Register", new AjaxOptions() { OnSuccess = "function(arg){HandleBasicForm(arg , 'MyCustomVariable')}"})

如果您在 jquery.unobtrusive-ajax.js 中使用 MVC3 非侵入式 javascript 支持,那么您可以改用隐式可用的 xhrdata 变量。

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
....
}

关于c# - ASP.NET - Ajax.BeginForm OnSuccess 回调与参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8034530/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com