Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/31.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 指定的强制转换在ASP.NET中无效?_C#_Asp.net_Asp.net Mvc_Visual Studio - Fatal编程技术网

C# 指定的强制转换在ASP.NET中无效?

C# 指定的强制转换在ASP.NET中无效?,c#,asp.net,asp.net-mvc,visual-studio,C#,Asp.net,Asp.net Mvc,Visual Studio,我得到了以下代码: var model = new List<LogModels>(); while (reader.Read()) { var logContent = new LogModels( (int)reader["id"], (string)reader["response"], (string)reader["language"], (string)reader["country"],

我得到了以下代码:

var model = new List<LogModels>();

while (reader.Read())
{
     var logContent = new LogModels(
         (int)reader["id"],
         (string)reader["response"],
         (string)reader["language"],
         (string)reader["country"],
         (string)reader["location"],
         (string)reader["os"],
         (string)reader["browser"],
         (string)reader["type"],
         (DateTime)reader["date"]
      );

     model.Add(logContent);
}
图片:

我的模型(LogModels)如下所示:

public int id { get; set; }
public string response { get; set; }
public string language { get; set; }
public string country { get; set; }
public string location { get; set; }
public string os { get; set; }
public string browser { get; set; }
public string type { get; set; }
public DateTime date { get; set; }
由于我似乎找不到问题,有人知道可能是什么问题吗?

var model=new List();
var model = new List<LogModels>();

while (reader.Read())
{
     var logContent = new LogModels(
         Convert.ToInt32(reader["id"].Tostring()),
         (string)reader["response"],
         (string)reader["language"],
         (string)reader["country"],
         (string)reader["location"],
         (string)reader["os"],
         (string)reader["browser"],
         (string)reader["type"],
         Convert.ToDateTime(reader["date"].Tostring())
      );

     model.Add(logContent);
}
while(reader.Read()) { var logContent=新的日志模型( Convert.ToInt32(读卡器[“id”].Tostring()), (字符串)读取器[“响应”], (字符串)读卡器[“语言”], (字符串)读取器[“国家”], (字符串)读卡器[“位置”], (字符串)读卡器[“os”], (字符串)读卡器[“浏览器”], (字符串)读取器[“类型”], Convert.ToDateTime(读卡器[“日期”].Tostring()) ); 模型。添加(日志内容); }
由于整数或日期时间值而导致的强制转换问题。
(int)读卡器[“Id”]
而不是
转换.ToInt32(读卡器[“Id”].Tostring())

(DateTime)reader[“date”]
而不是
Convert.ToDateTime(reader[“date”].Tostring())

完整异常消息比1000个图像更有用,但我猜其中一个字段不是您期望的类型(消息将告诉您是哪一个…),当然,我是在谈论reader对象(我假设是DB DataReader),不是你的视图模型类日志模型。你应该缩小失败的范围。我打赌是
id
还是
date
。您检查过当前记录的
date
是否为空吗?也许可以尝试将
DateTime
更改为可为空的类型(例如
DateTime?
),如何确切地检查是哪种类型导致了问题?我是Visual Studio的新手。这是数据库表:似乎没有任何内容是空的?
var model = new List<LogModels>();

while (reader.Read())
{
     var logContent = new LogModels(
         Convert.ToInt32(reader["id"].Tostring()),
         (string)reader["response"],
         (string)reader["language"],
         (string)reader["country"],
         (string)reader["location"],
         (string)reader["os"],
         (string)reader["browser"],
         (string)reader["type"],
         Convert.ToDateTime(reader["date"].Tostring())
      );

     model.Add(logContent);
}