为什么Dictionary null值加载到对象?
问题描述:
我使用Dictionary<string,object>
和数据加载到Gridview
,但空值显示<Object><Object>;
为什么Dictionary <string,object> null值加载到对象?
public jsonresult getdata()
{
sqlconnection con =new sqlconnection("");
sqlcommand cmd=new sqlcommand("select * from table",con);
var retObject=new List<dynamic>();
using(Var datareader=cmd.excutereader())
{
while (datareader.read())
{
var datarow=new expandoObject()as IDictionary<string,Object>;
for(var fieldcount=0;fieldcount<datareader.fieldcount,fieldcount++)
datarow.add(datareader.Getname(fieldcount),datareader[fieldcount]);
retObject.Add((ExpandoObject)datarow);
}
}
return json(retObject);
}
当负载网格视图空值表示下拉列表上 变化事件的翻译:将数据绑定到gridview的。但空值 在网格查看它表示[对象的对象]剩余的值正在添加 完美
答
可能的是datareader[fieldcount]
不为空,但DBNull.Value
,它比较对象,并设置实空值:
for(var fieldcount=0;fieldcount<datareader.fieldcount,fieldcount++)
{
var value = datareader[fieldcount];
datarow.add(datareader.Getname(fieldcount), value == DBNull.Value?null:value);
}
+0
感谢它的工作正常 – durgaprasad
无意冒犯,但你可以找人来改写最后一段?我坦率地不知道那应该是什么意思。 – Fildor