Wednesday 24 December 2014

4.Binding ListBox and DropDownList using LINQ


        To get started then let’s go ahead and add a new item in your website application in Visual Studio 2008 or VWD Express 2008. To do this, just right click on the web site -> select Add New Item -> and on the Templates select LINQ to SQL Classes as shown below and click ok:


Now open up Server Exporer in Visual Studio and do the follwing:
* Under Data Connections, expand the northwind database
* Expand the Table folder and select the Table that you want to use and drag it on the Data Context. Note that I used the product table in this example as shown below:


Now add a new webform then grab a ListBox and a DropDownList control from the Visual Studio ToolBox and place it on the ASPX source. The mark up would look something like this:

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title>LINQ Basics Demo</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <asp:ListBox ID="ListBox1" runat="server"></asp:ListBox>
        <asp:DropDownList ID="DropDownList1" runat="server">
        </asp:DropDownList>
    </div>
    </form>
</body>
</html>

And here are the code blocks below for binding the ListBox and DropDownList control using LINQ:

using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;

public partial class LINQDemo : System.Web.UI.Page
{
    private void ShowProducts()
    {
        //create new instance of the the DataContext class that we have just created
        DataClassesDataContext db = new DataClassesDataContext();
        FillListBox(db);
    }
    private void FillListBox(DataClassesDataContext db)
    {
        //LINQ syntax
        //Select the ProductID and ProductName from Products
        var products = from c in db.Products
        select new
        {
            ProductID = c.ProductID,
            ProductName = c.ProductName,
        };

        //Bind the ListBox
        ListBox1.DataSource = products;
        ListBox1.DataTextField = "ProductName";
        ListBox1.DataValueField = "ProductID";
        ListBox1.DataBind();

       //Bind the DropDownList
        DropDownList1.DataSource = products;
        DropDownList1.DataTextField = "ProductName";
        DropDownList1.DataValueField = "ProductID";
        DropDownList1.DataBind();

    }
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            ShowProducts();
        }
    }
}

0 comments:

Post a Comment