C# 在类的匿名属性中设置反序列化对象

C# 在类的匿名属性中设置反序列化对象,c#,model-view-controller,C#,Model View Controller,我有这个: public class ComponentData { public dynamic CdHtml { get; set; } public dynamic CdJson { get; set; } public dynamic CdSection { get; set; } public dynamic CdContainer { get; set; } public dynamic

我有这个:

    public class ComponentData
    {
        public dynamic CdHtml { get; set; }
        public dynamic CdJson { get; set; }
        public dynamic CdSection { get; set; }
        public dynamic CdContainer { get; set; }
        public dynamic CdRow { get; set; }
        public dynamic CdContainerId { get; set; }
        public dynamic CdColsJson { get; set; }
    }
我想用这些值设置ComponentData类,但我得到一个错误:

            var componentData = new ComponentData()
            {

                CdHtml = obj.htmlCD,
                CdJson = JsonConvert.DeserializeObject<dynamic>(obj.jsonCD),
                CdContainerId = "SECTION" + obj.CD_Container_Id,
                CdSection = JsonConvert.DeserializeObject<dynamic>(pc.Build_CDxxxJson("xxx" + obj.CD_Container_Id, "width:" + tlj.width.ToString() + "%;padding-left:30px;padding-right:30px;padding-top:30px;padding-bottom:30px;" + sectionCenterStyle, "section")),
                CdContainer = JsonConvert.DeserializeObject<dynamic>(pc.Build_CDxxxJson("xxx" + obj.divGUID2, containerStyle, "container")),
                CdRow = JsonConvert.DeserializeObject<dynamic>(pc.Build_CDxxxJson("xxx" + obj.divGUID3, "", "row")),
                CdColsJson = JsonConvert.DeserializeObject<dynamic>(pc.Build_CDxxxJson(obj.divGUID4, "", string.Format("col-xs-{0} col-sm-{1} col-md-{2} col-lg-{3} hoversel colregion{4}", bsc.xs, bsc.sm, bsc.md, bsc.lg, obj.divGUID4), bsc.xs, bsc.sm, bsc.md, bsc.lg))
            };



            return Json(new { componentData = componentData, html = obj.html });
var componentData=new componentData()
{
CdHtml=obj.htmlCD,
CdJson=JsonConvert.DeserializeObject(obj.jsonCD),
CdContainerId=“SECTION”+obj.CD\u容器\u Id,
CdSection=JsonConvert.DeserializeObject(pc.Build_CDxxxJson(“xxx”+obj.CD_容器_Id,“宽度:”+tlj.width.ToString()+“%”;左填充:30px;右填充:30px;顶部填充:30px;底部填充:30px;“+sectionCenterStyle”,section”),
CdContainer=JsonConvert.DeserializeObject(pc.Build_CDxxxJson(“xxx”+obj.divGUID2,containerStyle,“container”),
CdRow=JsonConvert.DeserializeObject(pc.Build_CDxxxJson(“xxx”+obj.divGUID3“,”行”),
CdColsJson=JsonConvert.DeserializeObject(pc.Build_CDxxxJson(obj.divGUID4,“”,string.Format(“col xs-{0}col sm-{1}col md-{2}col lg-{3}hoversel colregion{4}”、bsc.xs、bsc.sm、bsc.md、bsc.lg、obj.divGUID4)、bsc.xs、bsc.sm、bsc.xs、bsc.sm、bsc.sm、bsc.lg、bsc.lg))
};
返回Json(新的{componentData=componentData,html=obj.html});

如何返回包含json对象的类并使用ajax将其传递回客户端?

将代码更改为:

var componentData = new ComponentData()
{

  CdHtml = obj.htmlCD,
  CdJson = JsonConvert.DeserializeObject<ExpandoObject>(obj.jsonCD),
  CdContainerId = "SECTION" + obj.CD_Container_Id,
  CdSection = JsonConvert.DeserializeObject<ExpandoObject>(pc.Build_CDxxxJson("xxx" + obj.CD_Container_Id, "width:" + tlj.width.ToString() + "%;padding-left:30px;padding-right:30px;padding-top:30px;padding-bottom:30px;" + sectionCenterStyle, "section")),
  CdContainer = JsonConvert.DeserializeObject<ExpandoObject>(pc.Build_CDxxxJson("xxx" + obj.divGUID2, containerStyle, "container")),
  CdRow = JsonConvert.DeserializeObject<ExpandoObject>(pc.Build_CDxxxJson("xxx" + obj.divGUID3, "", "row")),
  CdColsJson = JsonConvert.DeserializeObject<ExpandoObject>(pc.Build_CDxxxJson(obj.divGUID4, "", string.Format("col-xs-{0} col-sm-{1} col-md-{2} col-lg-{3} hoversel colregion{4}", bsc.xs, bsc.sm, bsc.md, bsc.lg, obj.divGUID4), bsc.xs, bsc.sm, bsc.md, bsc.lg))
};
var componentData=new componentData()
{
CdHtml=obj.htmlCD,
CdJson=JsonConvert.DeserializeObject(obj.jsonCD),
CdContainerId=“SECTION”+obj.CD\u容器\u Id,
CdSection=JsonConvert.DeserializeObject(pc.Build_CDxxxJson(“xxx”+obj.CD_容器_Id,“宽度:”+tlj.width.ToString()+“%”;左填充:30px;右填充:30px;顶部填充:30px;底部填充:30px;“+sectionCenterStyle”,section”),
CdContainer=JsonConvert.DeserializeObject(pc.Build_CDxxxJson(“xxx”+obj.divGUID2,containerStyle,“container”),
CdRow=JsonConvert.DeserializeObject(pc.Build_CDxxxJson(“xxx”+obj.divGUID3“,”行”),
CdColsJson=JsonConvert.DeserializeObject(pc.Build_CDxxxJson(obj.divGUID4,“”,string.Format(“col xs-{0}col sm-{1}col md-{2}col lg-{3}hoversel colregion{4}”、bsc.xs、bsc.sm、bsc.md、bsc.lg、obj.divGUID4)、bsc.xs、bsc.sm、bsc.xs、bsc.sm、bsc.sm、bsc.lg、bsc.lg))
};
如果您想转换为动态,您需要使用
ExpandoObject
,就像您想用手创建一个对象一样