2017-09-15 53 views
1

我使用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的。但空值 在网格查看它表示[对象的对象]剩余的值正在添加 完美

+2

无意冒犯,但你可以找人来改写最后一段?我坦率地不知道那应该是什么意思。 – Fildor

回答

0

可能的是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

相关问题