ASP.NET โ LINQ Integration โ Query Data Easily in Web Forms (With Full Code Explanation)
Introduction โ What Is LINQ in ASP.NET?
LINQ (Language Integrated Query) in ASP.NET allows you to write SQL-like queries directly in C# to interact with in-memory collections, databases, XML, and more.
It integrates naturally into Web Forms and is widely used with:
- Lists & Arrays
- DataTables
- Entity Framework / LINQ to SQL
- XML files
In this guide, you’ll learn:
- How to use LINQ to query collections and DataTables in ASP.NET
- How to bind query results to controls like
GridViewandRepeater - Syntax explanations and browser outputs
- Full step-by-step breakdowns for beginners
LINQ Integration โ File Overview
| File Name | Purpose |
|---|---|
LinqToObjects.aspx | LINQ on List (in-memory collection) |
LinqToDataTable.aspx | LINQ on DataTable |
LinqIntegration.aspx.cs | Code-behind with LINQ logic |
Example 1: LINQ on In-Memory List (List<T>)
Markup File โ LinqToObjects.aspx
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="LinqToObjects.aspx.cs" Inherits="LinqToObjects" %>
<html>
<body>
<form id="form1" runat="server">
<h3> LINQ to List<T></h3>
<asp:GridView ID="GridView1" runat="server" />
</form>
</body>
</html>
Code-Behind โ LinqToObjects.aspx.cs
using System;
using System.Collections.Generic;
using System.Linq;
public partial class LinqToObjects : System.Web.UI.Page
{
public class Product
{
public int Id;
public string Name;
public double Price;
}
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
List<Product> products = new List<Product>
{
new Product { Id = 1, Name = "Laptop", Price = 750.00 },
new Product { Id = 2, Name = "Mouse", Price = 25.99 },
new Product { Id = 3, Name = "Monitor", Price = 150.50 }
};
var expensiveItems = from p in products
where p.Price > 50
select p;
GridView1.DataSource = expensiveItems;
GridView1.DataBind();
}
}
}
Code Explanation
List<Product>: Creates a strongly typed in-memory list.- LINQ Query:
from p in products where p.Price > 50 select pfilters products over $50. GridView1.DataSource: Assigns the LINQ result to the GridView.DataBind(): Renders the filtered result in the browser.
Example 2: LINQ to DataTable
Markup File โ LinqToDataTable.aspx
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="LinqToDataTable.aspx.cs" Inherits="LinqToDataTable" %>
<html>
<body>
<form id="form1" runat="server">
<h3> LINQ to DataTable</h3>
<asp:GridView ID="GridView1" runat="server" />
</form>
</body>
</html>
Code-Behind โ LinqToDataTable.aspx.cs
using System;
using System.Data;
using System.Linq;
public partial class LinqToDataTable : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
DataTable dt = new DataTable();
dt.Columns.Add("Name");
dt.Columns.Add("Marks", typeof(int));
dt.Rows.Add("Alice", 78);
dt.Rows.Add("Bob", 90);
dt.Rows.Add("Carol", 65);
var topStudents = from row in dt.AsEnumerable()
where row.Field<int>("Marks") >= 70
select new
{
Name = row.Field<string>("Name"),
Marks = row.Field<int>("Marks")
};
GridView1.DataSource = topStudents.ToList();
GridView1.DataBind();
}
}
}
Code Explanation
DataTable dt: Creates a virtual in-memory data table.dt.Rows.Add(...): Adds mock student data.dt.AsEnumerable(): Enables LINQ querying on the DataTable.- LINQ filters rows with Marks โฅ 70.
- Result is bound and displayed in the GridView.
Summary โ Recap & Takeaways
- LINQ simplifies querying collections and tables in C#.
- Works well with in-memory data like
List<T>andDataTable. - Helps reduce code complexity while improving readability.
- You can easily bind filtered data to controls like GridView.
Key Takeaways:
- Use LINQ
from ... where ... selectfor clear data queries. - Works great for filtering, sorting, and shaping data.
- Combine with
DataBind()to connect results to UI.
LINQ in ASP.NET is ideal for building dynamic, filterable web pages.
Frequently Asked Questions (FAQs)
Whatโs the benefit of LINQ over loops?
LINQ provides more concise, readable, and declarative syntax for filtering and projecting data.
Can I use LINQ with databases?
Yes, using LINQ to SQL or Entity Framework for database queries.
How do I debug a LINQ query?
You can convert the LINQ result to a list (ToList()) and inspect it in Visual Studio.
What if I need dynamic filtering?
You can use where conditions with variables or use lambda expressions.
Share Now :
