如何从网格视图调用ajax并在同一页面中重定向

时间:2016-06-29 10:25:37

标签: c# jquery asp.net ajax

import Data.Coerce

reprBuild2 :: Iso' (Maybe UniversalTime) (First SaneDate)
reprBuild2 = iso coerce coerce

我的调用函数$.ajax({ type: "POST", url: "Default4.aspx.cs/SaveUser", data: "{ 'taskid': '" + taskid + "'}", contentType: "application/json; charset=utf-8", dataType: "json", success: function (data) { var flag = data; if (flag == "fail") { alert("task in use"); } else { alert("task not in use"); } } }); 就像这样:

SaveUser

public void SaveUser() { //something to do; } 中,当我打电话给它时,它没有执行。我试过了,它正在调用javascript,因为我在那里提醒,但它没有进入AJAX。有人可以帮忙吗?

2 个答案:

答案 0 :(得分:0)

您的方法应为static,并以[WebMethod]属性修饰。此外,还应将名为taskid的参数传递给此方法。

[System.Web.Services.WebMethod]
public static void SaveUser(int taskid)
{
    //something to do;
}

您无需为.cs扩展名提供路径。从.cs

url部分删除ajax
url: "Default4.aspx/SaveUser",

答案 1 :(得分:0)

如果asp.net web来自 App_Start

中的RouteConfig.cs文件

请在RegisterRoute中更正

//Rest of code is ommited
settings.AutoRedirectMode = RedirectMode.Off;

和ajax调用将是

var obj={};
obj.taskid=taskid ;
$.ajax({
    type: "POST",
    url: "Default4.aspx/SaveUser",
    data: JSON.stringify(obj),
    contentType: "application/json; charset=utf-8",
    dataType: "json",
    success: function (data) {
        var flag = data.d; //Add .d here
        if (flag == "fail") {
            alert("task in use");
        }
        else {
            alert("task not in use");
        }
    }
});

Default4.aspx

中的网络方法
[System.Web.Services.WebMethod]
public static   String SaveUser(String taskid)
{
  return "OK";
}