【问题标题】:How to get selected value of a html select with asp.net如何使用 asp.net 获取 html 选择的选定值
【发布时间】:2011-01-23 14:45:32
【问题描述】:

我的代码如下:

<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 做到这一点?

【问题讨论】:

  • 太棒了...多个值怎么样???

标签: asp.net html html-select


【解决方案1】:

您需要为 &lt;select&gt; 元素添加名称:

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

它将被发布到服务器上,您可以使用:

Request.Form["testSelect"]

【讨论】:

  • 没问题。如果可能的话,Pontus 提出了关于使用服务器端下拉菜单的有效观点,但我认为您有充分的理由不使用它。
  • 用户选择了多个值的任何运气?!
  • @jalchr - 对于多个值,您可以使用 Request.Form.GetValues("testSelect")。将来,您可能会提出一个新问题,它会为您提供更快的答案。
  • 这对我不起作用;如果有兴趣,请参阅此处的更新 3:stackoverflow.com/questions/42655000/…
【解决方案2】:

我已使用此解决方案来满足您的需求。

假设在我的 .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);

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

【讨论】:

  • 如您所见,问题是关于没有 runat 服务器属性的选择。
  • 是的,我知道,我只是展示了另一种实现相同结果的方法。感谢您的评论=)
【解决方案3】:

如果您要使用asp:dropdownlist,您可以通过testSelect.Text 更轻松地选择它。

现在您必须执行Request.Form["testSelect"] 才能在按下btnTes 后获取值。

希望对你有帮助。

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

【讨论】:

    【解决方案4】:
    <%@ 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>
    

    来自微软。希望这有帮助!

    【讨论】:

      【解决方案5】:

      Java 脚本:

      使用elementid. selectedIndex()函数获取选中的索引

      【讨论】:

        猜你喜欢
        • 2011-12-23
        • 1970-01-01
        • 1970-01-01
        • 2021-12-20
        • 2019-10-15
        • 2021-11-26
        • 2013-06-12
        • 1970-01-01
        相关资源
        最近更新 更多