我目前可以在Javascript中序列化单个对象,在Json中通过Ajax发布它,并使用自定义类在代码隐藏中反序列化它,如下所示:
使用Javascript:
var ticket =
{
"aNumber" : 1,
"aString" : "foo"
};
jsonData = JSON.stringify(ticket);
$.ajax({
type: "POST",
url: url_webservice + "action",
data: "{obj:" + jsonData + "}",
contentType: 'application/json; charset=utf-8',
error: function (xhr, status, error) {
console.log(xhr.responseText);
},
dataType: "json"
});
自定义类:
public class Ticket
{
public int aNumber { get; set; }
public string aString { get; set; }
}
代码隐藏:
[WebMethod]
public static void action(Ticket obj)
{
//do stuff
}
现在我想完成同样的事情,但有几张票如下:
var tickets =
[
{
"aNumber" : 1,
"aString" : "foo"
},
{
"aNumber" : 2,
"aString" : "bar"
}
];
我尝试按合成创建一个类:
public class TicketsDTO
{
LinkedList<Ticket> tickets;
}
然后继承:
public class TicketsDTO : LinkedList<Ticket>
{
}
似乎无效。我确实更新了WebMethod的参数
[WebMethod]
public static void action(TicketsDTO obj)
{
console.log(""); //breakpoint
}
但是在这两种情况下执行没有到达断点,我也没有收到错误。
感谢任何帮助。