C# 在C中不添加所有值的列表#
我尝试了下面的代码来创建json代码,代码运行良好 我从db加载了值,但只有最后一个值得到了输出。剩余值未添加C# 在C中不添加所有值的列表#,c#,.net,json,C#,.net,Json,我尝试了下面的代码来创建json代码,代码运行良好 我从db加载了值,但只有最后一个值得到了输出。剩余值未添加 DataTable dt = new DataTable(); var objectToSerialize = new RootObject(); SqlConnection connection = new SqlConnection(ConfigurationManager.ConnectionStrings["dbconnection"].ToString()); SqlComm
DataTable dt = new DataTable();
var objectToSerialize = new RootObject();
SqlConnection connection = new SqlConnection(ConfigurationManager.ConnectionStrings["dbconnection"].ToString());
SqlCommand command = new SqlCommand("select * from IFlicksMenu", connection);
SqlDataAdapter da = new SqlDataAdapter(command);
da.Fill(dt);
foreach (DataRow dr in dt.Rows)
{
foreach (DataColumn col in dt.Columns)
{
objectToSerialize.contacts = new List<Cont>
{
new Cont
{
sno = dr["Cinema"].ToString(),
name = dr["Gallery"].ToString(),
address = dr["star"].ToString(),
gender = dr["video"].ToString(),
em = dr["em"].ToString(),
phone=new Phone { mobile=dr["phonone"].ToString() }
},
};
}
JavaScriptSerializer serializer = new JavaScriptSerializer();
Response.Write(serializer.Serialize(new { item = objectToSerialize.contacts }));
}
当您希望在循环开始时创建联系人并继续添加到列表中时,可以为每个项目重新创建
联系人
:
var items = new List<Cont>();
foreach (DataRow dr in dt.Rows)
{
items.Add(new Cont{
sno = dr["Cinema"].ToString(),
name = dr["Gallery"].ToString(),
address = dr["star"].ToString(),
gender = dr["video"].ToString(),
em = dr["em"].ToString(),
phone = new Phone{ mobile=dr["phonone"].ToString() }
});
}
objectToSerialize.contacts = items;
因为它将有效地将行数乘以列数当您希望在循环开始时创建联系人并继续添加到列表中时,可以为每个项目重新创建联系人:
var items = new List<Cont>();
foreach (DataRow dr in dt.Rows)
{
items.Add(new Cont{
sno = dr["Cinema"].ToString(),
name = dr["Gallery"].ToString(),
address = dr["star"].ToString(),
gender = dr["video"].ToString(),
em = dr["em"].ToString(),
phone = new Phone{ mobile=dr["phonone"].ToString() }
});
}
objectToSerialize.contacts = items;
因为它将有效地将行数乘以列数尝试使用
objectToSerialize.contacts.Add( new List<Cont>
{
new Cont{ sno = dr["Cinema"].ToString(), name = dr["Gallery"].ToString(), address = dr["star"].ToString(), gender = dr["video"].ToString(), em = dr["em"].ToString(),phone=new Phone{mobile=dr["phonone"].ToString()} },
});
objectToSerialize.contacts.Add(新列表
{
新Cont{sno=dr[“电影院”].ToString(),name=dr[“画廊”].ToString(),address=dr[“明星”].ToString(),gender=dr[“视频”].ToString(),em=dr[“em”].ToString(),phone=new phone{mobile=dr[“phonone”].ToString()},
});
而不是
objectToSerialize.contacts = new List<Cont>
{
new Cont{ sno = dr["Cinema"].ToString(), name = dr["Gallery"].ToString(), address = dr["star"].ToString(), gender = dr["video"].ToString(), em = dr["em"].ToString(),phone=new Phone{mobile=dr["phonone"].ToString()} },
};
objectToSerialize.contacts=新列表
{
新Cont{sno=dr[“电影院”].ToString(),name=dr[“画廊”].ToString(),address=dr[“明星”].ToString(),gender=dr[“视频”].ToString(),em=dr[“em”].ToString(),phone=new phone{mobile=dr[“phonone”].ToString()},
};
尝试使用
objectToSerialize.contacts.Add( new List<Cont>
{
new Cont{ sno = dr["Cinema"].ToString(), name = dr["Gallery"].ToString(), address = dr["star"].ToString(), gender = dr["video"].ToString(), em = dr["em"].ToString(),phone=new Phone{mobile=dr["phonone"].ToString()} },
});
objectToSerialize.contacts.Add(新列表
{
新Cont{sno=dr[“电影院”].ToString(),name=dr[“画廊”].ToString(),address=dr[“明星”].ToString(),gender=dr[“视频”].ToString(),em=dr[“em”].ToString(),phone=new phone{mobile=dr[“phonone”].ToString()},
});
而不是
objectToSerialize.contacts = new List<Cont>
{
new Cont{ sno = dr["Cinema"].ToString(), name = dr["Gallery"].ToString(), address = dr["star"].ToString(), gender = dr["video"].ToString(), em = dr["em"].ToString(),phone=new Phone{mobile=dr["phonone"].ToString()} },
};
objectToSerialize.contacts=新列表
{
新Cont{sno=dr[“电影院”].ToString(),name=dr[“画廊”].ToString(),address=dr[“明星”].ToString(),gender=dr[“视频”].ToString(),em=dr[“em”].ToString(),phone=new phone{mobile=dr[“phonone”].ToString()},
};
您正在为每次迭代实例化foreach
内部的列表,因此它将进行最终迭代。您可以在foreach
外部定义列表对象,并在foreach
内部定义值
List<Cont> ContCollection = new List<Cont>();
foreach (DataRow dr in dt.Rows)
{
foreach (DataColumn col in dt.Columns)
{
ContCollection.Add(new Cont(){
sno = dr["Cinema"].ToString(),
name = dr["Gallery"].ToString(),
address = dr["star"].ToString(),
gender = dr["video"].ToString(),
em = dr["em"].ToString(),
phone=new Phone { mobile=dr["phonone"].ToString() }
});
}
objectToSerialize.contacts = ContCollection;
JavaScriptSerializer serializer = new JavaScriptSerializer();
Response.Write(serializer.Serialize(new { item = objectToSerialize.contacts }));
}
List ContCollection=new List();
foreach(数据行dr在dt.行中)
{
foreach(dt.列中的数据列列列)
{
ContCollection.Add(新Cont(){
sno=dr[“电影院”]。ToString(),
name=dr[“Gallery”].ToString(),
地址=dr[“star”]。ToString(),
性别=dr[“视频”]。ToString(),
em=dr[“em”].ToString(),
phone=新手机{mobile=dr[“phonone”].ToString()}
});
}
objectToSerialize.contacts=ContCollection;
JavaScriptSerializer serializer=新的JavaScriptSerializer();
Write(serializer.Serialize(new{item=objectToSerialize.contacts}));
}
您正在为每次迭代实例化foreach
内部的列表,因此它将进行最终迭代。您可以在foreach
外部定义列表对象,并在foreach
内部定义值
List<Cont> ContCollection = new List<Cont>();
foreach (DataRow dr in dt.Rows)
{
foreach (DataColumn col in dt.Columns)
{
ContCollection.Add(new Cont(){
sno = dr["Cinema"].ToString(),
name = dr["Gallery"].ToString(),
address = dr["star"].ToString(),
gender = dr["video"].ToString(),
em = dr["em"].ToString(),
phone=new Phone { mobile=dr["phonone"].ToString() }
});
}
objectToSerialize.contacts = ContCollection;
JavaScriptSerializer serializer = new JavaScriptSerializer();
Response.Write(serializer.Serialize(new { item = objectToSerialize.contacts }));
}
List ContCollection=new List();
foreach(数据行dr在dt.行中)
{
foreach(dt.列中的数据列列列)
{
ContCollection.Add(新Cont(){
sno=dr[“电影院”]。ToString(),
name=dr[“Gallery”].ToString(),
地址=dr[“star”]。ToString(),
性别=dr[“视频”]。ToString(),
em=dr[“em”].ToString(),
phone=新手机{mobile=dr[“phonone”].ToString()}
});
}
objectToSerialize.contacts=ContCollection;
JavaScriptSerializer serializer=新的JavaScriptSerializer();
Write(serializer.Serialize(new{item=objectToSerialize.contacts}));
}
您正在foreach中创建一个新的列表
。。。尝试在foreach外部创建它。您正在foreach中创建一个新的列表。。。尝试在foreach之外创建它。