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;
}
}