zoukankan      html  css  js  c++  java
  • 关于数据绑定的一个小小的总结:绑定数据到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页面的代码:

    Code

    补充一:

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

    (可选)包含在设计时定义的一个或多个静态项。若要用静态项和从数据源中生成的项填充列表控件,请将列表控件的 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

  • 相关阅读:
    BZOJ 1218: [HNOI2003]激光炸弹( 前缀和 + 枚举 )
    BZOJ 1878: [SDOI2009]HH的项链( BIT )
    BZOJ 1054: [HAOI2008]移动玩具( BFS )
    js-提取行间元素
    vim的三种模式的基本操作
    Linux的高级命令
    Linux的进阶命令
    Linux的基本命令
    Linux常见的文件目录结构
    js-操作属性
  • 原文地址:https://www.cnblogs.com/xpnew/p/1272658.html
Copyright © 2011-2022 走看看