0

我有一个 ListView 控件,我想编辑 InsertItem 模板以包含一个 Dropdownlist 项,其中包含成员目录中的用户列表。

我试过这个:

    MembershipUserCollection users = Membership.GetAllUsers();

    assigned_volunteerDropDownBox.DataSource = users;
    assigned_volunteerDropDownBox.DataBind();

最大的问题是它说assigned_volunteerDropDownBox在当前上下文中不存在......实际上插入模板上的任何 TextBox 项目都不在当前上下文中(这是否正常)?

我该怎么做呢?我希望能够只允许使用有效的用户名更新该行。

我查看了这个,但它实际上并不包含将 DataBind 到 DropDownList 项的代码。

4

2 回答 2

1

您可以访问assigned_volunteerDropDownBox后面的代码;但从下拉控件本身进行绑定可能更容易。创建要绑定到的属性:

// lazy-loaded property
public MembershipUserCollection UsersCollection
{
    get
    { 
        if (_usersCollection == null)
        {
            _usersCollection = Membership.GetAllUsers();
        }
        return _usersCollection;
    }
}
MembershipUserCollection _usersCollection;

然后DataSource使用DropDownList

<asp:DropDownList RunAt="Server" DataSource=<%# UsersCollection %> ID="assigned_volunteerDropDownBox" />
于 2012-10-06T19:36:30.433 回答
0

您需要使用FindControl在模板中查找控件。

于 2012-10-06T19:35:44.403 回答