微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

asp.net – 将JSON对象传递给Web方法

我想和大家分享我今天学到的东西.我的问题是:

您可以将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);

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

我发现是的,你可以将一个JSON对象传递给一个Page方法,它就是一个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

解决方法:

查看这篇文章
http://dotnetslackers.com/columns/ajax/ASPNETAjaxWebService.aspx

使用[GenerateScriptType(typeof(Task))]装饰WebMethod,然后在客户端,您将能够创建任务.然后将它作为常规对象传递给服务器端方法.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐