Javascript 将列表发送到 asmx 服务

Javascript send list to asmx service

我在 .net Web 表单中创建了一个 asmx 服务,如下所示。 AddUsers 方法接受列表模型。

namespace ProjectName.AsmxServices.Test
 {

[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
[System.ComponentModel.ToolboxItem(false)]

[ScriptService]
 public class Test: System.Web.Services.WebService
   {
    [WebMethod]
    public void AddUsers(List<UserDetail> userList)
    {
        // Add User List
    }

   // Here is my model
   public class UserDetail
    {
        public int Id{ get; set; }
        public string Name { get; set; }
        public string Surname{ get; set; }
        public DateTime BirthDate { get; set; }
    }
   }
 }

现在,我想 post 在 Javascript 中列出模型。但是如何将此模型创建为 javascript 中的列表?

         $("#addUsers").click(function () {

         var data = ??  **How can I create a List<UserDetail> model.**

         $.ajax({
            url: '../AsmxServices/Test.asmx/AddUsers',
            type: "POST",
            dataType: "json",
            contentType: "application/json; charset=utf-8",
            data: data
            success: function (result) {
                console.log("Good job!");
            },
            error: function (result) {
                console.log("Failed");
            }

        });
    });

我现在想创建这个硬编码的模型列表。然后我会改变我的代码。

试试这个:

var usersList = 
    {
        userList: 
            [
                {Id: 1, Name: "name1"}, 
                {Id: 2, Name: "name2"}
            ]
    };

var data = JSON.stringify(usersList);