2009-04-10 218 views
4

我想與大家分享今天我學到的東西。我的問題是:將JSON對象傳遞給Web方法

您能否將JavaScript代碼中的JSON對象傳遞給.NET Page Method?例如:

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對象給頁面方法,它會以字典(字符串,字符串)的形式出現。所以,我的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 
+0

這是問答網站,而不是博客。 – 2009-04-10 19:33:29

+0

從stackoverflow的常見問題解答:「提問並回答你自己的編程問題也很好,但假裝你在危險之中:用問題的形式說出它。」你沒有這樣做。也許將其重寫爲問題/答案。 – artlung 2009-04-10 19:48:29

回答