将Javascript中的对象列表绑定到ASP中的模型.NET MVC2控制器

本文关键字:模型 NET MVC2 ASP 控制器 绑定 Javascript 对象 列表 | 更新日期: 2023-09-27 18:18:23

调用JSON后获得以下JSON。从我的javascript

{"parameters":"[{'"ParamName'":'"@s'",'"ParamValue'":'"12'"},{'"ParamName'":'"@t'",'"ParamValue'":'"21'"}]"}

如何在我的ASP中将其映射到以下模型?Net MVC2控制器

public class SCVM
{
    public string content { get; set; }
    public string type { get; set; }
    public List<Parameters> parameters { get; set; }
    public SCVM()
    {
        parameters = new List<Parameters>();
    }
}
public class Parameters
{
    public string ParamName { get; set; }
    public string ParamValue { get; set; }
}

我正在尝试以字典格式或列表对象格式获取此内容,但发现很难以正确的方式完成。

将Javascript中的对象列表绑定到ASP中的模型.NET MVC2控制器

如果你的json看起来像这样:它可能应该。(见我对你问题的评论)

{
    "parameters":[
        {
            "ParamName":"@s",
            "ParamValue":"12"
        },
        {
            "ParamName":"@t",
            "ParamValue":"21"
        }
    ]
}
使用这段javascript代码,你将创建正确的json:
var parametersCollection = {
    parameters: []
}; 
function QueryParameters(paramName, paramValue) { this.ParamName = paramName;     this.ParamValue = paramValue; }
parametersCollection.parameters.push(new QueryParameters("@s", "12"));
parametersCollection.parameters.push(new QueryParameters("@t", "21"));
var json = JSON.stringify(parametersCollection);

可以用Json反序列化。. NET查看如下:

SCVM scvm = JsonConvert.DeserializeObject<SCVM>(json);

json是字符串格式如我所示

这是一个关于如何使用jquery将json数据发布到MVC2站点的优秀教程。甚至不需要使用Json。. NET lib来反序列化json.