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

本文关键字:列表 我的 网页 | 更新日期: 2023-09-27 18:14:41

<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();
      }

在页面上有一个按钮叫做更新,当点击这个按钮时,我想获得列表框中每个项目的用户id,我怎么能得到它。使用for循环,我得到了每个项目的名称,但没有得到每个项目的用户id,我怎么能得到用户id

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

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

您可以将userid绑定到ListItemValue,将FirstName绑定到ListItemText

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

那么在你的代码中你可以使用

protected void btnUpdate_Click(object sender, EventArgs e)
{    
    string userid = '';
    string FirstName = '';
    foreach (ListItem li in lst_grpmembers.Items)
    {
         userid = li.Value;
         FirstName = li.Text;
    }
}

编辑
这会将您的用户标识暴露给任何看到此下拉列表的人,您可能不希望这样。如果您不想向任何人公开userid,那么这不是适合您的解决方案。