我正在将JSON对象发送到操作方法。 一切都在客户端工作,JSON 对象看起来正确,但设置的唯一值是简单属性。 列表上的计数始终为 0。
下面是发送到服务器的 JSON 对象的示例。 我刚刚提醒了整个 JSON 字符串并将其粘贴到下面:
{"Tags":"
[{"Id":0,"Title":"Windows 8","TagType":"Generic"},{"Id":0,"Title":"Dreamweaver","TagType":"Generic"},{"Id":0,"Title":"Word","TagType":"Generic"}]",
"CurrentPage":"5",
"ItemsPerPage":"10",
"SearchPhrase":"blaha"}
下面是 C# 类:
public class SearchParams
{
public List<Tag> Tags { get; set; }
public string ItemsPerPage { get; set; }
public string SearchPhrase { get; set; }
public string CurrentPage { get; set; }
}
public class Tag
{
public int Id { get; set; }
public string Title { get; set; }
public string TagType { get; set; }
}
下面是操作方法:
public JsonResult Search(SearchParams searchParams)
{
//Stuff happens here
}
模型绑定适用于三个字符串属性:
ItemsPerPage == 10
SearchPhrase == "blaha"
CurrentPage == 5
Tag.Count == 0 ????
这里应该有 3 个标签项目:(
我在这里错过了一些明显的东西吗?
BR
金
首先检查你的json..
{ "Tags": " [{"Id":0,"Title":"Windows 8","TagType":"Generic"},{"Id":0,"Title":"Dreamweaver","TagType":"Generic"},{"Id":0,"Title":"Word","TagType":"Generic"}]", "CurrentPage": "5", "ItemsPerPage": "10", "SearchPhrase": "blaha" }
我通过 json 验证器对其进行了测试,您的 json 中存在一些错误。
http://jsonlint.com/
http://jsonformatter.curiousconcept.com/
检查一下..
这很旧,但为了记录,创建泛型列表的默认构造函数是我所做的,它总是有效:
public class SearchParams
{
public List<Tag> Tags { get; set; }
public string ItemsPerPage { get; set; }
public string SearchPhrase { get; set; }
public string CurrentPage { get; set; }
public SearchParams() {
Tags = new List<Tag>();
}
}