[英]how to get multiple values from selected - asp.net
单击按钮后如何从select
标记中获取选择的值? 在这里,我得到带有多选的html select
。
selTest.Value
仅返回第一个选定的项目。
<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)
{
}
如果正确使用ASP.NET ListBox,则可以访问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);
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();
'options'将是一个包含所有选定值的字符串列表。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.