0

单击按钮后如何从select标签中获取选择的值?select在这里,我得到了具有多项选择的html 。

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)
{

}
4

2 回答 2

0

如果您使用正确的 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);
于 2013-05-12T21:10:36.843 回答
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();

'options' 将是一个包含所有选定值的字符串列表。

于 2017-08-31T23:13:04.283 回答