如何使用ajax post& amp;将JSON数据发布到SQL昏死

时间:2013-02-10 10:01:02

标签: asp.net json knockout.js

我有一个非常简单的视图模型:

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

我想将位于我的viewmodel中的这些数据保存到我的SQL服务器。 我在我的服务器端代码中有一个定义此视图模型的类:

 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;      

    }

最后我有一个不想将数据发送到服务器的POST:

function SaveMe() {

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

我在这个post方法中没有从返回的数据中得到任何结果,也在服务器端代码中添加了断点,它根本没有点击它。我的网址是正确的,Viewmodel可以毫不费力地转换为JSON。

1 个答案:

答案 0 :(得分:0)

使网络方法保持静态。

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

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

    return true;         

}