关于数据绑定的一个小小的总结:绑定数据到List类型的控件(RadioButtonList,ListBox等),双重绑定。...

理论上讲应该适用于所有的List类型的控件,但是其它的没有测试过。

说明:

 

1、这里使用的是后期绑定,也就是说在控件上设置的绑定。

 

2、这里所说的“双重绑定”指的是对于List类型的控件,它的列表来自于一个DataTable/ArrayList/DataView,它的选定值绑定到另一个数据源的某个数据项上面,通常都是用在添加和编辑界面上。

 

3、默认情况下,vs2005的“属性”面板不显示DataSource这个属性(显示的是DataSourceId)。所以需要切换到“源”视图,手工录入。

 

4、特别需要注意的是,必须指定DataTextField和DataValueField,要不是就会出现“‘xxxx’有一个无效 SelectedValue,因为它不在项目列表中”这样的异常。其中'xxxx'为这里面所说的List类型控件的ID。

 

.aspx页面的代码:

                        <asp:RadioButtonList ID="RadioButtonList1" runat="server" SelectedValue='<%# Bind("P_verify") %>' DataSource='<%# VerifyDt %>' DataTextField="name" DataValueField="value">
                        </asp:RadioButtonList>

.cs页面的代码:

 

ContractedBlock.gif ExpandedBlockStart.gif Code
 1    public DataView VerifyDt
 2ExpandedBlockStart.gifContractedBlock.gif    {
 3ExpandedSubBlockStart.gifContractedSubBlock.gif        get{
 4
 5
 6            DataTable dt  =new DataTable();
 7            dt.Columns.Add(new DataColumn("name",typeof(string)));
 8            dt.Columns.Add(new DataColumn("value",typeof(bool)));
 9
10            DataRow dr;
11            dr = dt.NewRow();
12            dr[0= "yes";
13            dr[1= true;
14            dt.Rows.Add(dr);
15            dr = dt.NewRow();
16            dr[0= "no";
17            dr[1= false;
18            dt.Rows.Add(dr);
19            return new DataView(dt);
20        }

21
22    }

23

 

补充一:

在一篇文章中看到关于静态项(所谓静态项就是常见的“请所下面选择一个一项目”)的内容,我觉得很有用,摘录如下:

 

(可选)包含在设计时定义的一个或多个静态项。若要用静态项和从数据源中生成的项填充列表控件,请将列表控件的 AppendDataBoundItems 属性设置为 true。下面的示例演示一个 DropDownList 控件,该控件包含一个名为“从列表中选择”的静态项,但该控件从数据库表填充。CompareValidator 控件绑定到 DropDownList 控件并配置为不允许用户选择该静态项。


<asp:DropDownList ID="DropDownList1" runat="server"
  DataSourceID="SqlDataSource1"
  DataTextField="CategoryName"
  DataValueField="CategoryID"
  AppendDataBoundItems="True" >
<asp:ListItem>
   Select from list
</asp:ListItem>
</asp:DropDownList>

<asp:CompareValidator
  ID="CompareValidator1"
  runat="server"
  ErrorMessage="Select an item!"
  Operator="NotEqual"
  ValueToCompare="Select from list"
  ControlToValidate="DropDownList1">
    Please select an item!
</asp:CompareValidator>

 

如何:从数据源填充  Web 服务器控件
作者:迭戈

http://blog.sina.com.cn/s/reader_4a8920f9010007du.html

 

转载于:https://www.cnblogs.com/xpnew/archive/2008/08/21/1272658.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值