无法转换'System.Collections.Generic.List类型的对象

时间:2013-05-14 21:38:00

标签: asp.net casting datatable

我收到此错误

  

无法投射类型的对象   'System.Collections.Generic.List`1 [TransTripLeg]'   输入'System.Data.DataTable'。

我似乎无法弄清楚如何解决它。错误发生在下面代码中的DataTable dtTable =

if (!string.IsNullOrEmpty(Request.QueryString["EditMode"]))
{
    DataTable dtUpdate = (DataTable)Session["TripRecords"];
    DataRow[] customerRow = dtUpdate.Select("LegID = '" + sLegID.ToString() + "'");

我想我正在将它转换为输入DataTable,但后来我仍然收到错误。

2 个答案:

答案 0 :(得分:4)

您需要将Session["TripRecords"]投射到List<TransTripLeg>而不是DataTable

var collection = (List<TransTripLeg>)Session["TripRecords"];
var legs = collection.Where(c => c.LegID == sLegID);

答案 1 :(得分:1)

删除此符号只对我有用(') 这对我来说很好用

DataRow[] dr = allleaveDt.Select("EmployeeId=" + empId);