如何在我的网页上获取列表框的值?

时间:2011-11-16 09:55:47

标签: c# asp.net data-binding listbox

<asp:ListBox ID="lst_grpmembers" DataValueField="FirstName" SelectionMode="Multiple" runat="server"></asp:ListBox>

我正在上面的列表框中进行数据绑定,我绑定了userid和Firstname,只显示了列表框中的第一个名字。

  public void BindAddedMembers(int grpid)
      {
          DataSet ds = new DataSet();
          int newOrgID = Convert.ToInt32(Session["uOrgID"].ToString());
          string userQuery = "SELECT tbl_User.userid,   FirstName FROM tbl_user INNER JOIN tbl_usergroups on tbl_user.UserID = tbl_usergroups.UserID WHERE (tbl_usergroups.groupID =@GroupID And (tbl_user.UserActive='Yes' or tbl_user.UserActive='InActive')) order by tbl_user.Firstname asc";
          MySqlParameter[] para = new MySqlParameter[1];
          para[0] = new MySqlParameter("@GroupID", MySqlDbType.Int32);
          para[0].Value = grpid;
          ds = server.ExecuteQuery(CommandType.Text, userQuery, para);
          lst_grpmembers.DataSource = ds;
          lst_grpmembers.DataBind();
      }

页面中有一个名为update的按钮,当点击它时,我想获取列表框中每个项目的用户ID,我该如何获取它。使用for循环我得到每个项目的名称,但不是每个项目的用户ID,我如何获得用户ID

protected void btnUpdate_Click(object sender, EventArgs e)
{    
    foreach (ListItem li in lst_grpmembers.Items)
    {

    }
}

1 个答案:

答案 0 :(得分:2)

您可以将userid绑定到Value的{​​{1}},将ListItem绑定到FirstName的{​​{1}}

e.g。

Text

然后在您的代码中,您可以使用

ListItem

修改
这会将您的用户ID暴露给看到此下拉列表的任何人,您可能不希望这样。如果您不想将用户ID公开给任何人,那么这不是您的解决方案。