2010-11-08 98 views
0

我有一個列表框控件數據綁定到數據源,我希望能夠獲取每個選定項的值,以便我可以使用該信息來形成一個爲另一個表插入查詢。換句話說,能夠從返回的列表中選擇幾個項目並獲取每個項目的選定值。我試着用每一個陳述,但想出了一些奇怪的數字。在asp.net中存儲多個列表框項的選定值

+0

您可以添加代碼您目前正在使用和詳細解釋您獲得的結果以及您期望的結果。 – 2010-11-08 12:08:29

+0

我只知道如何獲得一個選定的值:listbox1.selectedvalue。我的列表框被連接到一個sqldatasource,我需要獲取每個項目的選定值(不是文本,但值),以便我可以創建一個存儲過程,將選定的值插入到另一個表中。例如,我的表格會爲每個車型/型號返回子模型。我正在構建一個應用程序,允許我選擇年/製作/模型,但從一長串子模型中選擇多個項目,並將它們分配給每個模型,以供我選擇的特定年份中的每個模型使用。 – 2010-11-08 20:52:44

回答

1

我終於想通了

protected void Button1_Click(object sender, EventArgs e) 
{ 
    string msg = ""; 

    foreach (ListItem li in ListBox_SubModel.Items) 
    { 
     if (li.Selected == true) 
     { 
      msg += "<br />" + li.Value + " is selected"; 
     } 
    } 
    Label_SubModel.Text = msg; 
} 
2

這裏有一個列表框允許選擇多個項目,以檢索所選項目的按鈕的例子:

<%@ Page Title="Home Page" Language="C#" %> 
<script type="text/C#" runat="server"> 
    protected void Page_Load(object sender, EventArgs e) 
    { 
     if (!IsPostBack) 
     { 
      list.DataSource = Enumerable.Range(1, 5).Select(x => new { Id = x, Text = "item " + x }); 
      list.DataValueField = "Id"; 
      list.DataTextField = "Text"; 
      list.DataBind(); 
     } 
    } 

    protected void BtnOK_Click(object sender, EventArgs e) 
    { 
     ListItem[] selectedItems = list.Items 
      .Cast<ListItem>() 
      .Where(item => item.Selected) 
      .ToArray(); 
     // TODO: use the selected items here 
    } 
</script> 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"> 
<head id="Head1" runat="server"> 
    <title></title> 
</head> 
<body> 
    <form id="Form1" runat="server"> 
     <asp:ListBox ID="list" runat="server" SelectionMode="Multiple" /> 
     <asp:LinkButton ID="BtnOK" runat="server" OnClick="BtnOK_Click" Text="OK" /> 
    </form> 
</body> 
</html> 
相關問題