将枚举绑定在下拉框DropDownList和ListBox中
2009-05-15 09:46 周国选 阅读(3244) 评论(0) 编辑 收藏 举报前台页面
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default5.aspx.cs" Inherits="Default5" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>将枚举绑定在下拉框DropDownList和ListBox中</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:DropDownList ID="drpStatus" runat="server">
</asp:DropDownList>
<asp:ListBox ID="lbStatus" runat="server"></asp:ListBox>
</div>
</form>
</body>
</html>
后台代码
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;
public partial class Default5 : System.Web.UI.Page
{
private void Page_Load(object sender, System.EventArgs e)
{
ListType();
}
/// <summary>
/// 绑定下拉框
/// </summary>
private void ListType()
{
drpStatus.Items.Clear();
drpStatus.DataSource = ListTypeForEnum();
drpStatus.DataValueField = "value";
drpStatus.DataTextField = "text";
drpStatus.DataBind();
lbStatus.Items.Clear();
lbStatus.DataSource = ListTypeForEnum();
lbStatus.DataValueField = "value";
lbStatus.DataTextField = "text";
lbStatus.DataBind();
}
/// <summary>
/// 把枚举转换成数组
/// </summary>
/// <returns></returns>
public static IList ListTypeForEnum()
{
ArrayList list = new ArrayList();
foreach (int i in Enum.GetValues(typeof(EnumActivityType)))
{
ListItem listitem = new ListItem(Enum.GetName(typeof(EnumActivityType), i), i.ToString());
list.Add(listitem);
}
return list;
}
/// <summary>
/// 枚举
/// </summary>
public enum EnumActivityType
{
Task = 1,
Fax = 2,
Phone = 3,
Email = 4,
Reminder = 5,
Appointment = 6,
Expiration = 7,
Inquiry = 8
}
}