使用LINQ将数据绑定到网格视图,而不添加DataClasses

时间:2012-03-10 15:40:52

标签: asp.net linq gridview

我见过许多使用LINQ绑定gridview的文章,但所有文章都在使用DataClasses。是否可以使用LINQ将数据绑定到网格视图而不添加DataClasses ..任何人都可以在此处为我提供任何示例代码或工作示例

enter image description here

1 个答案:

答案 0 :(得分:0)

我想我可能会忽略这一点,但无论您的数据来源是什么,只要它是某种形式的集合,您就可以使用Linq对象来查询数据。例如:

public partial class WebUserControl1 : System.Web.UI.UserControl
{
    private readonly List<DataItem> _items;

    public WebUserControl1()
    {
        _items = new List<DataItem>
                     {
                         new DataItem {Name = "Fred"},
                         new DataItem {Name = "Dave"},
                         new DataItem {Name = "John"},
                     };
    }

    protected void Page_Load(object sender, EventArgs e)
    {
        // Get data and use Linq to objects
        var filteredData = GetData().Where(i => i.Name.StartsWith("F")).ToList();

        // Bind to data 
        GridView1.DataSource = filteredData;
        GridView1.DataBind();
    }

    private IEnumerable<DataItem> GetData()
    {
        // Get data from your data source
        return _items;
    }
}

public class DataItem
{
    public string Name { get; set; }
}

如果您的数据是数据库,那么一个好的选择是使用Linq to SQL(仅限SQL Server)或Linq to Entities(不仅仅是SQL Server),或Linq to Datasets(如果您真的必须)。 / p>