0

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

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

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

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

}

我也有这个网络方法来接收代码:

 [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 方法中返回的数据中什么也没得到,还在服务器端代码中添加了断点,它根本没有命中它。我的 URL 是正确的,并且 Viewmodel 可以毫不费力地转换为 JSON。

4

1 回答 1

0

使 Web 方法静态化。

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

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

    return true;         

}
于 2013-03-14T21:15:12.133 回答