将JSON对象传递给Web方法

5
我希望与大家分享我今天学到的东西。我的问题是:
JavaScript代码能否将JSON对象传递给.NET页面方法?例如:
  var task = { 
    Title: $("#titlenew input", $(newTaskRow)).val(), 
    StartDate: $("#startnew input", $(newTaskRow)).val(), 
    EndDate: $("#endnew input", $(newTaskRow)).val(), 
    EstimatedHours: $("#esthrsnew input", $(newTaskRow)).val(),
    PredecessorsOutlineNumbers: $("#depnew input", $(newTaskRow)).val(),
    OutlineNumber: $("#ordernew", $(newTaskRow)).text()
  };
  PageMethods.AddTask(task, saveNewTaskCompleted, saveNewTaskFailed);

如果可以的话,我的Web方法应该接受哪种类型的.NET对象?

我发现可以将JSON对象传递给页面方法,并且它会以Dictionary(Of String, String)的形式传递。因此,我的Web方法签名如下:

<System.Web.Services.WebMethod()> _
Public Shared Sub AddTask(ByVal taskJson As Dictionary(Of String, String))

  Dim oTask As New Task()
  oTask.Title = taskJson("Title")
  ' all other accesses to the JSON object here

End Sub

这是一个问答网站,而不是博客。 - Andreas Grech
从stackoverflow的常见问题解答中: “提出并回答自己的编程问题也是完全可以的,但请假装你在参加Jeopardy游戏节目:用问题的形式来表达。” 你没有这样做。也许可以重写为问题/答案的形式。 - artlung
我的错 - 我应该先提问,然后再单独发布答案吗? - Brandon Montgomery
你或许不应该这么做,但我很高兴你这样做了... - Mark Brittingham
2个回答

5

0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接