如果我没记错的话,我的应用程序成功绑定了所有内容。但现在它没有,我不知道,它从来没有,或者我打破了一些东西。
这是一个控制器:
public void SaveToDataBase(EnhancedXml enhancedXml)
{
}
EnhancedXml
非常简单:
public class EnhancedXml
{
public string Content { get; set; }
public byte[] AdvancedSignature { get; set; }
}
这是我的HttpRequest:
POST http://localhost:35921/SaveToDb HTTP/1.1
Content-Type: application/json
X-Requested-With: XMLHttpRequest
Referer: http://localhost:35921/
Accept-Language: en-US,en;q=0.7,ru;q=0.3
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; rv:11.0) like Gecko
Content-Length: 38027
Host: localhost:35921
Connection: Keep-Alive
Pragma: no-cache
{"enhancedXml":{"Content":"<?xml version=\"1.0\" encoding=\"utf-8\"?><Student xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\"><Name>Alex</Name><LastName>B</LastName><DateOfBirth>1993-05-18T00:00:00</DateOfBirth></Student>","AdvancedSignature":[60,63,120,109,108,32,118,101,114,115,105,111,110,61,34,49,46,48,34,32,101,110,99]}}
当Content
属性绑定正常时,AdvancedSignature
根本不存在。
可以用某种方式修复它,除了`创建一个字符串属性并自己编组一个数组吗?
答案 0 :(得分:1)
高级签名的数据类型错误。它应该是一个整数列表。
public class EnhancedXml
{
public string Content { get; set; }
public List<int> AdvancedSignature { get; set; }
}