如何修复System.IndexOutOfRangeException:OrderDate

时间:2016-05-26 15:42:24

标签: c# asp.net asp.net-mvc-4

运行我的应用程序然后收到此错误

  

异常详细信息:System.IndexOutOfRangeException:OrderDate

OrderDate是类字段。

类文件是

    public string PageAddress { get; set; }
    public string Name { get; set; }
    public DateTime? OrderDate { get; set; }
    public int CartId { get; set; }
    public string Size { get; set; }

和C#代码是

order.PageAddress = rdr["PAGE_ADDRESS"].ToString(); 
order.Name = rdr["NAME"].ToString(); 
order.OrderDate = Convert.ToDateTime(rdr["OrderDate"]); 
order.CartId = Convert.ToInt32(rdr["CARTID"]); 
order.Size = rdr["SIZE"].ToString();

2 个答案:

答案 0 :(得分:0)

如果数据存在,您需要添加一些检查:

...
if(rdr has item with key "OrderDate")
{
    order.OrderDate = Convert.ToDateTime(rdr["OrderDate"]); 
}
...

检查的代码取决于rdr是什么。

答案 1 :(得分:0)

只是一个想法。

异常消息表示集合中缺少索引OrderDate

您使用大写键获取所有值。值OrderDate与此模式不匹配。也许关键是错误的,应该是ORDER_DATE

但是,如果字典包含所有键,则应检查字典或其他任何内容。例如,您可以使用ContainsKey方法

执行此操作