我想与大家分享我今天学到的一些东西。我的问题是:
您能否将 JSON 对象从 JavaScript 代码传递到 .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);
如果可以的话,我的网络方法应该接受什么类型的 .NET 对象?
我发现是的,您可以将一个 JSON 对象传递给一个页面方法,它作为一个字典(Of String, String)出现。所以我的网络方法签名如下所示:
<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
最佳答案
查看这篇文章: http://dotnetslackers.com/columns/ajax/ASPNETAjaxWebService.aspx
用 [GenerateScriptType(typeof(Task))] 修饰您的 WebMethod 然后在客户端您将能够创建任务。然后将其作为常规对象传递给您的服务器端方法。
关于asp.net - 将 JSON 对象传递给 Web 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/738623/