<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)
{
}
}
答案 0 :(得分:2)
您可以将userid
绑定到Value
的{{1}},将ListItem
绑定到FirstName
的{{1}}
e.g。
Text
然后在您的代码中,您可以使用
ListItem
修改强>
这会将您的用户ID暴露给看到此下拉列表的任何人,您可能不希望这样。如果您不想将用户ID公开给任何人,那么这不是您的解决方案。