2013-05-12 48 views
0

如何從點擊按鈕後從select標籤選擇值?在這裏,我可以通過多種選擇獲得html select

selTest.Value僅返回第一個選擇的項目。如何從選定的多個值 - asp.net

<select runat="server" id="selTest" name="selTest" data-placeholder="Choose a Country..." class="chzn-select" style="width:350px;" tabindex="4"> 
     <option value=""></option> 
     <option value="United States" selected="selected">United States</option> 
     <option value="Western Sahara">Western Sahara</option> 
     <option value="Yemen">Yemen</option> 
     <option value="Zambia" selected="selected">Zambia</option> 
     <option value="Zimbabwe" selected="selected">Zimbabwe</option> 
    </select> 

    <asp:Button ID="testBt" runat="server" OnClick="testBt_Click" Text="ds" /> 

後面的代碼:

protected void testBt_Click(object sender, EventArgs e) 
{ 

} 
+0

你的列表不允許多選,你需要指定'multiple';但無論如何,爲什麼不使用.NET控件,比如ListBox? – 2013-05-12 21:08:43

+0

循環選擇項目並查看所選屬性。 – 2013-05-12 19:28:50

回答

0

如果使用ASP.NET列表框正確,你可以訪問Items,強類型和查詢:

<asp:ListBox runat="server" id="MyList" SelectionMode="Multiple"> 
    <asp:ListItem Value="-1"></asp:ListItem> 
    <asp:ListItem Valuealue="United States" Selected="True">United States</asp:ListItem> 
    <asp:ListItem Valuealue="Western Sahara">Western Sahara</asp:ListItem> 
    <asp:ListItem Valuealue="Yemen">Yemen</asp:ListItem> 
    <asp:ListItem Valuealue="Zambia" Selected="True">Zambia</asp:ListItem> 
    <asp:ListItem Valuealue="Zimbabwe" Selected="True">Zimbabwe</asp:ListItem> 
</asp:ListBox> 

然後得到所選物品(使用Linq):

var selected = MyList.Items.Where(i => i.Selected); 
0

HTML:

<asp:ListBox ID="Options" SelectionMode="Multiple" runat="server"> 
    <asp:ListItem Value="option1" >Option #1</asp:ListItem> 
    <asp:ListItem Value="option2" >Option #2</asp:ListItem> 
    <asp:ListItem Value="option3" >Option #3</asp:ListItem> 
</asp:ListBox> 

後面的代碼:

var options = Options.Items.Cast<ListItem>() 
        .Where(item => item.Selected) 
        .Select(item => item.Value) 
        .ToList(); 

'選項' 將字符串列表包含所有選定的值。

相關問題