1

我对 C# 比较陌生,我已经在互联网上研究了几天。我需要将在 asp.net DropDownList 中选择的值声明为 JavaScript 变量。我主要研究了<asp:hiddenfield>'s,但我不确定这是否是最好的选择。所以我有两个问题:

  1. <asp:hiddenfield>最好的选择吗?
  2. 如何将 C# 字符串声明为 javascript 变量?

    <asp:DropDownList runat="server" ID="dropDownID">
        <asp:ListItem Text="-- Select Reason --" Value=""></asp:ListItem>
        <asp:ListItem Text="Booking" Value="1"></asp:ListItem>
        <asp:ListItem Text="Discussing" Value="2"></asp:ListItem>
        <asp:ListItem Text="Quotation" Value="3"></asp:ListItem>
    </asp:DropDownList>
    
    <asp:hiddenfield ID="valueInHiddenField" value="" runat="server"/> 
    
4

3 回答 3

0

要将下拉列表值存储在 javascript 变量中,无需使用隐藏字段,

尝试这个...

 <script type="text/javascript">
     var dropdown_value = document.getElementById('<%=dropDownID.ClientID%>').value;
 </script>

在这里,我们必须使用它的 ClientID 而不是 dropdownID .....在 asp.net 4.0 中,您可以通过执行下拉菜单的 ClientIDMode="Static" 来直接使用它的 id。

     var dropdown_value = document.getElementById('dropDownID').value;
于 2013-06-07T05:18:42.523 回答
0
<script type="text/javascript">
    var serverDropdown = document.getElementById('dropDownID');
    var reasonIndex = serverDropdown.selectedIndex;
    var reasonValue = serverDropdown.value;
</script>
于 2013-06-06T15:22:04.327 回答
0

将此更改<asp:DropDownList runat="server" ID="dropDownID">为:

<asp:DropDownList runat="server" ID="dropDownID" ClientIDMode="Static">

然后使用这个 JavaScript 来获取值:

var val = document.getElementById('dropDownID').value;
于 2013-06-06T15:22:08.063 回答