Как получить выбранное значение html select с помощью asp.net

У меня есть код ниже:

<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" />

Мне нужно получить значение выбранных параметров на обратной передаче. Как я могу сделать это с помощью asp.net?

5 ответов


вы должны добавить имя <select> элемент:

<select id="testSelect" name="testSelect">

Она будет размещена на сервере, и вы можете увидеть его с помощью:

Request.Form["testSelect"]

если вы используете asp:dropdownlist вы можете выбрать его легче testSelect.Text.

теперь вам придется сделать Request.Form["testSelect"] чтобы получить значение после нажатия btnTes.

надеюсь, что это помогает.

EDIT: вам нужно указать name выбора (не только ID), чтобы иметь возможность Request.Form["testSelect"]


я использовал это решение, чтобы получить то, что вам нужно.

давайте скажем, что в моем .код aspx есть список выбора runat= "server":

<select id="testSelect"  runat="server" ClientIDMode="Static" required>
    <option value="1">One</option>
    <option value="2">Two</option>
</select>

в моем коде C# я использовал код ниже, чтобы получить текст, а также значение параметров:

testSelect.SelectedIndex == 0 ? "uninformed" : 
    testSelect.Items[testSelect.SelectedIndex].Text);

в этом случае я проверяю, выбрал ли пользователь какой-либо из параметров. Если ничего не выбрано, я показываю текст как "неинформированный".


<%@ Page Language="C#" AutoEventWireup="True" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">    
<head>
    <title> HtmlSelect Example </title>
    <script runat="server">
      void Button_Click (Object sender, EventArgs e)
      {
         Label1.Text = "Selected index: " + Select1.SelectedIndex.ToString()
                       + ", value: " + Select1.Value;    
      }    
   </script>    
</head>    
<body>    
   <form id="form1" runat="server">

      Select an item: 

      <select id="Select1" runat="server">    
         <option value="Text for Item 1" selected="selected"> Item 1 </option>
         <option value="Text for Item 2"> Item 2 </option>
         <option value="Text for Item 3"> Item 3 </option>
         <option value="Text for Item 4"> Item 4 </option>
      </select>

      <button onserverclick="Button_Click" runat="server" Text="Submit"/>

      <asp:Label id="Label1" runat="server"/>    
   </form>
</body>
</html>

источник из Microsoft. Надеюсь, это поможет!


Java script:

использовать elementid. selectedIndex() функция для получения выбранного индекса