2016-06-29 57 views
1
$.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功能是這樣的:如何從網格視圖調用Ajax和在同一頁

public void SaveUser() 
{ 
    //something to do; 
} 

Default4.aspx.cs當我把這個它沒有執行。我試過了,它調用了JavaScript,因爲我在那裏給了警戒,但它沒有進入AJAX。誰能幫忙?

回答

0

你的方法應該是static並用[WebMethod]屬性裝飾。還應該將一個名爲taskid的參數傳遞給此方法。

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

您無需爲路徑指定.cs擴展名。從ajax

url: "Default4.aspx/SaveUser", 
+0

是的,我已經做到了......但它不是在Ajax代碼進入Web方法!!!!任何預先設置爲ajax – MNC

+0

從url中刪除'.cs' – Mairaj

+0

是的......累了吧 – MNC

0

url部分刪除.cs如果從RouteConfig.cs asp.net網站在文件App_Start

請更正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"; 
}