新微赢技术网

标题: 绑定Enum到ASP.NET数据绑定控件的完美解决方案 [打印本页]

作者: 轻松由我    时间: 2009-3-16 14:50
标题: 绑定Enum到ASP.NET数据绑定控件的完美解决方案
本文向读者介绍NBear中实现的DropDownListField字段绑定控件和EnumDescriptionAttribute特性。结合使用这两个组件,就可以最简单、易用和可扩展地完美解决绑定Enum到Asp.Net数据绑定控件的问题。[05/26修订]——增加支持第三方枚举描述,支持二进制与过的枚举值。
从DropDownListField的名称,大家一定猜到了,是的,DropDownListField控件和ASP.NET内置的BoundField,CheckBoxField等一样,可以直接用于GridView,DetailsView等控件的声明中,用于描述一个Enum类型的字段的绑定。使用DropDownListField,我们就再也不需要向原来一样为了绑定一个Enum类型的值而使用自定义ItemTemplate并嵌入DropDownList,并写额外代码来填充ItemTemplate中的DropDownList了。
首先,我们看看如何在我们的页面代码中使用DropDownListField控件:
1<%@ Page Language="C#" %>
2<%@ Register TagPrefix="nb" Namespace="NBear.Web.Data" Assembly="NBear.Web.Data" %>
3<!DOCTYPE Html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
4<html XMLns="http://www.w3.org/1999/xhtml" >
5<head runat="server">
6    <title>NBear DataSource Test</title>
7</head>
8<body>
9<form id="aspnetForm" runat="server">
10    <nb:NBearDataSource ID="TestDS" runat="server" ConnectionStringName="test Access db"
11        TypeName="Entities.SimpleData" FilterEXPression="{SimpleID} > 0" DefaultOrderByExpression="{SimpleID} DESC, {SimpleName}" />
12    <asp:GridView ID="TestGrid" runat="server" DataSourceID="TestDS" AllowSorting="True" AllowPaging="True"
13        PageSize="3" AutoGenerateEditButton="True" AutoGenerateDeleteButton="True" DataKeyNames="SimpleId" AutoGenerateColumns="False" >
14        <Columns>
15            <asp:BoundField DataField="SimpleId" HeaderText="SimpleId" SortExpression="SimpleId" />
16            <asp:BoundField DataField="SimpleName" HeaderText="SimpleName" SortExpression="SimpleName" />
作者: timmy    时间: 2009-11-17 20:05
呵呵 放心 如我算错 你以后来砸我的帖子 呵呵




欢迎光临 新微赢技术网 (http://bbs.weiying.cn/) Powered by Discuz! X3.2