Map structure based data binding : Databinding « Development « ASP.NET Tutorial






File: Default.aspx

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="DictionaryCollection" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>Untitled Page</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <asp:ListBox ID="MyListBox" 
                     runat="server" 
                     AutoPostBack="True" 
                     Height="192px" 
                     OnSelectedIndexChanged="MyListBox_SelectedIndexChanged"
                     Width="200px"></asp:ListBox><br />
        <br />
        <asp:Label ID="lblMessage" runat="server" Font-Bold="True"></asp:Label>
        </div>
    </form>
</body>
</html>

File: Default.aspx.cs

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

public partial class DictionaryCollection : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!this.IsPostBack)
        {
            Dictionary<int, string> fruit = new Dictionary<int, string>();
            fruit.Add(1, "A");
            fruit.Add(2, "B");
            fruit.Add(3, "C");
            fruit.Add(4, "D");
            fruit.Add(5, "E");
            fruit.Add(6, "F");
            fruit.Add(7, "G");
            fruit.Add(8, "H");

            MyListBox.DataSource = fruit;
            MyListBox.DataTextField = "Value"; 
            MyListBox.DataValueField = "Key";
            this.DataBind();
        }

    }
    protected void MyListBox_SelectedIndexChanged(object sender, EventArgs e)
    {
        lblMessage.Text = "You picked: " + MyListBox.SelectedItem.Text;
        lblMessage.Text += " which has the key: " + MyListBox.SelectedItem.Value;

    }
}








9.10.Databinding
9.10.1.Single-value data binding is a different approach to dynamic text.
9.10.2.Bind URL with property
9.10.3.List based data binding
9.10.4.Map structure based data binding