我很难理解我的错误

方法:

public List<Task> GetAllTasks()
{
    var AllTasks = from t in tasks
                   where t.Status.ToString() == "Completed" || t.Status.ToString() == "Pending"
                   select t;

    return (List<Task>)AllTasks;
}

代码隐藏:

protected void Page_Load(object sender, EventArgs e)
{
    TaskList tdl = (TaskList)Session["TodoList"];
    List<Task> AllTasks = tdl.GetAllTasks();
    string str = "";

    foreach (Task t in AllTasks)
    {
        str += t.ToString() + "<br />";
    }

    LblTasks.Text = str;

}

添加任务(AddTask.aspx)后,我重定向到另一个页面以显示它们,然后出现运行时错误:

无法强制转换类型为"WhereListIterator1[Task]' to type 'System.Collections.Generic.List1[Task]"的对象.

我的LINQ有什么问题吗?我昨天才知道,呵呵.

谢谢.

推荐答案

您只需在查询中直接输入或在返回时输入.ToList()即可.如中所示

var AllTasks = (from t in tasks
               where t.Status.ToString() == "Completed" || t.Status.ToString() == "Pending"
               select t).ToList();

return AllTasks.ToList();

Asp.net相关问答推荐

在 Windows Server 2008 IIS7 上的 ASP.NET 中写入事件日志(log)

如何将标头中的用户名/密码传递给 SOAP WCF 服务

当前http上下文的http动词

此版本的 SQL Server 不支持用户实例登录标志.连接将关闭

在 lambda 表达式中否定 Func

如何在 ASP.NET 中以 'YYYY-MM-DD' 格式获取当前日期?

IIS 中的嵌套 ASP.NET应用程序继承父配置值?

jquery 1.9.0 和 modernizr 无法使用 ASP.NET Web 优化框架进行缩小

有没有办法将 onclick 事件添加到 ASP.NET 标签服务器控件?

有没有一种简单的方法可以将对象属性转换为字典

用于 ASP.NET 的 System.Drawing 的替代品?

如何在页面的基类中执行 Page_Load()?

如何将 Web 应用程序项目转换为类库项目

如何设置asp.net身份cookie过期时间

ASP.net 与 PHP( Select 什么)

如何获得 System.Diagnostics.Process 的输出?

SQLServer 与 StateServer 的 ASP.NET 会话状态性能

如何使div按钮提交其所在的表单?

ASP.NET MVC 路由的无限 URL 参数

IsMobileDevice 是如何工作的?