2011-11-16 26 views
1

<asp:ListBox ID="lst_grpmembers" DataValueField="FirstName" SelectionMode="Multiple" runat="server"></asp:ListBox>如何獲取我的網頁上的列表框的值?

我正在做數據綁定到上面的列表框,我綁定用戶標識和名字,只顯示列表框中的第一個名字。

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 [email protected] 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) 
    { 

    } 
} 

回答

2

您可以將userid綁定到ListItemValueFirstNameTextListItem

例如

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

編輯
這將你的用戶ID暴露給任何人誰看到這個下拉菜單中,你可能不希望這樣。如果你不想將用戶名暴露給任何人,那麼這不是你的解決方案。

相關問題