如何使用asp.net获取html select的选定值

Has*_*anG 33 html asp.net html-select

我的代码如下:

<select id="testSelect">
    <option value="1">One</option>
    <option value="2">Two</option>
</select>
<asp:Button ID="btnTest" runat="server" Text="Test it!" onclick="btnTest_Click" />
Run Code Online (Sandbox Code Playgroud)

我需要在回发时获得所选期权的价值.我怎么能用asp.net做到这一点?

Kob*_*obi 41

您需要为<select>元素添加名称:

<select id="testSelect" name="testSelect">
Run Code Online (Sandbox Code Playgroud)

它将被发布到服务器,您可以使用以下方式查看它:

Request.Form["testSelect"]
Run Code Online (Sandbox Code Playgroud)

  • @jalchr - 对于多个值,您可以使用`Request.Form.GetValues("testSelect")`.将来,您可以提出一个新问题,它会为您提供更快的答案. (9认同)

小智 6

如果你愿意,asp:dropdownlist你可以更容易地选择它testSelect.Text.

现在你必须Request.Form["testSelect"]按下后才能获得值btnTes.

希望能帮助到你.

编辑:您需要指定一个name选择(不仅是ID)才能Request.Form["testSelect"]


Pau*_*roz 6

我用这个解决方案来获得你需要的东西.

让我们在我的.aspx代码中有一个选择列表runat ="server":

<select id="testSelect"  runat="server" ClientIDMode="Static" required>
    <option value="1">One</option>
    <option value="2">Two</option>
</select>
Run Code Online (Sandbox Code Playgroud)

在我的C#代码中,我使用下面的代码来检索文本以及选项的值:

testSelect.SelectedIndex == 0 ? "uninformed" : 
    testSelect.Items[testSelect.SelectedIndex].Text);
Run Code Online (Sandbox Code Playgroud)

在这种情况下,我检查用户是否选择了任何选项.如果没有选择,我将文本显示为"不知情".