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

标签 asp.net javascript ajax json asp.net-ajax

我想与大家分享我今天学到的一些东西。我的问题是:

您能否将 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/

相关文章:

asp.net - 将 Twitter 集成到 Asp.net

asp.net - 在 ASP.NET 中以更快的速度发送电子邮件

javascript - 数组到对象?

javascript - 使用 PHP 中的 cURL 抓取源代码时出现的问题

jQuery .getJSON 响应忽略 JSON 响应中的转义字符

c# - 如何使用 Telegram API 从 Telegram channel 获取消息

c# - Sap .Net Connector 3 上的异步方法

javascript - 如何在每个ajax调用上绑定(bind)开始和完成事件

javascript - 在 IE 11 中缩小图像质量不佳 - 在 Firefox、Chrome、Opera 和 Safari 中良好

javascript - 追加Jquery后点击事件