2013-02-10 35 views
0

我有一個非常簡單的視圖模型JSON數據發佈到SQL:如何使用AJAX後與淘汰賽

var ProjectViewModel = { 
     ProjectName: ko.observable().extend({ required: "" }), 
     ProjectDescription: ko.observable().extend({ required: "" }), 
     ProjectStartDate: ko.observable(), 
     ProjectEndDate: ko.observable() 
    }; 

我要救這個數據位於我的視圖模型到我的SQL Server。 我在我的服務器端代碼定義這個視圖模型類:

public class Projects 
{ 
    public string ProjectName { get; set; } 
    public DateTime ProjectStartDate { get; set; } 
    public DateTime ProjectEndDate { get; set; } 
    public string ProjectDescription { get; set; } 

} 

我也有這個Web方法接收驗證碼:

[WebMethod] 
    public bool SaveProject(string[] JSONDATA) 
    { 
     TaskNinjaEntities entities = new TaskNinjaEntities(); 

     foreach (var item in JSONDATA) 
     { 
      Console.WriteLine("{0}", item); 
     } 

     return true;  

    } 

最後,我有一個不想要這個職位將數據發送到服務器:

function SaveMe() { 

     var data = ko.toJSON(ProjectViewModel); 
     $.post("CreateProject.aspx/SaveProject", data, function (returnedData) { 
     }); 
    } 

我得到這個職位從方法返回的數據沒有,還增加了斷點在服務器端代碼,並且它不打它。我的URL是正確的,Viewmodel轉換爲JSON沒有麻煩。

+3

你看過你的Web開發工具或Fiddler的Ne​​twork選項卡中POST的樣子嗎? – 2013-02-10 13:57:52

+0

+1使用Fiddler來了解幕後發生了什麼 – Neil 2013-02-10 19:28:43

回答

0

使web方法變爲靜態。

[WebMethod] 
public static bool SaveProject(string[] JSONDATA) 
{ 
    TaskNinjaEntities entities = new TaskNinjaEntities(); 

    foreach (var item in JSONDATA) 
    { 
     Console.WriteLine("{0}", item); 
    } 

    return true;   

}