Как получить выделенное значение HTML выберите с asp.net - PullRequest
32 голосов
/ 04 марта 2010

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

<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 ]

41 голосов
/ 04 марта 2010

Вам необходимо добавить имя к элементу <select>:

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

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

Request.Form["testSelect"]
6 голосов
/ 20 июля 2015

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

Допустим, в моем .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);

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

6 голосов
/ 04 марта 2010

Если бы вы использовали asp:dropdownlist, вы могли бы выбрать его проще testSelect.Text.

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

Надеюсь, это поможет.

РЕДАКТИРОВАТЬ: вам нужно указать name выбора (не только ID), чтобы иметь возможность Request.Form["testSelect"]

1 голос
/ 04 апреля 2014
<%@ 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. Надеюсь, что это полезно!

1 голос
/ 04 марта 2010

Java-скрипт:

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...