我正在尝试将带有 JQuery 的表单提交给 C#,使用值元组作为目标对象的属性之一。但是,它似乎不起作用;我猜这与值元组的构造方式有关,因为在以相同方式Obj.Prop=x&etc..
将值传递给没有默认构造函数的对象时也会出错。
下面是我正在做的事情。我想知道是否有办法以类似的方式做到这一点。我知道我可以创建一个与元组匹配的对象,或者分解属性并手动更改序列化字符串;但我希望尽可能避免这些。
$.ajax({
url: '.../MyMethod',
data: $('#MyForm').serialize(),
succss: function (result) {
blah();
},
error: function (e) {
blah();
}
});
表单序列化创建:
Id=4&Time.Hour=16&Time.Minute=30
MyMethod 有一个参数,SubmissionObject submission
如下所示:
public class SubmissionObject
{
public long Id { get; set; }
public (short Hour, short Minute) Time { get; set; }
}
但是,该对象将填充为
Id: 4
Time: (0, 0)
代替
Id: 4
Time: (16, 30)