一聚教程网:一个值得你收藏的教程网站

热门教程

ASP.NET ListView中使用DropDownList绑定数据方法

时间:2022-07-02 11:52:47 编辑:袖梨 来源:一聚教程网

ASP.NET提供的大部分数据绑定控件都是使用额外的标记自动封装显示数据,举例来说,GridView控件在一个HTML表格(

)中显示它的数据,每条记录显示一行(),每个字段显示为一个单元格(
),虽然你可以使用TemplateField组件自定义GridView的外观,但GridView的输出仍然是限制在一个table组件中的,但有时候你想要完全控制由数据绑定控件产生的HTML标记的外观,这正是ListView控件的优势,ListView控件不是使用额外的标记来封装它的输出内容,而是靠你指定的精确的HTML描述,使用ListView控件内置的模板就可以指定精确的标记,表1列出了ListView控件支持的模板。

在Aspx页中的代码:


    <asp教程:DropDownList ID="DropDownList1" runat="server">
       
       
   

 

 添加事件:ItemUpdating和ItemCreated事件

 protected void ListView1_ItemUpdating(object sender, ListViewUpdateEventArgs e)
        {
            //在更新之前绑定DropDownList
            DropDownList ddGender = (DropDownList)ListView1.Items[e.ItemIndex].FindControl("DropDownList1");
            e.NewValues["Gender"] = ddGender.SelectedValue;
        }
 

 

protected void ListView1_ItemCreated(object sender, ListViewItemEventArgs e)
        {
            if (e.Item.ItemType == ListViewItemType.DataItem)
            {
                DropDownList ddlGender = (DropDownList)e.Item.FindControl("DropDownList1");
                if (ddlGender != null)
                {
                    ListViewDataItem lvDataItem = (ListViewDataItem)e.Item;
                    DataRowView rowView = (DataRowView)lvDataItem.DataItem;
                    if (rowView != null)
                    {
                        var userRow = (DataSetUsers.UsersRow)rowView.Row;
                        ddlGender.SelectedValue = userRow.Gender;
                    }
                }
            }
        }